Создание файла, разделенного запятыми, с символом новой строки для массовой вставки дает неожиданный вывод - PullRequest
0 голосов
/ 17 декабря 2018

Мне нужно для массовой вставки в SQL-Server Файл, разделенный запятыми.Мои данные (данные опроса, где у каждого человека есть строка для хранения ответов, заканчивающихся vblf) поступают из Server-Send-Event, и я транслирую их в текстовый файл.Я делаю следующую трансформацию с данными для защиты формата:

Dim allText As String = File.ReadAllText("C:\_downloaded Data\new.csv")
        allText = allText.Replace("data:[", String.Empty)
        allText = allText.Replace(vbLf, String.Empty)
        allText = allText.Replace("]", Environment.NewLine)
    Using output As StreamWriter = New StreamWriter("C:\_downloaded Data\new.csv")
        output.WriteLine(allText)
    End Using

Поскольку данные имеют формат data:[1,asdf,3,test@gmail.de], я удаляю data:[, затем я удаляю все vbLF, так как я делаюне знаю, если некоторые находятся не в том месте, у меня там тоже есть текст, и в самом конце я заменяю ] на NewLine, так как в моем коде вставки:

BULK INSERT insert_Table_1 FROM 'C:\_downloaded Data\new.csv'
With (FIELDTERMINATOR = ',', ROWTERMINATOR = '\r\n')

я использую какROWTERMINATOR \r\n.Данные для импорта выглядят нормально в пределах csv

enter image description here

Но когда я вставляю их в SQL-сервер (где \n и 0x0aне работает и дает мне Bulk load: An unexpected end of file was encountered in the data file. error) данные в таблице выглядят так:

enter image description here

и я понятия не имею, почему.Есть ли какая-либо ошибка в коде .net (также приветствуются решения на c #).Я не могу найти некоторые в коде импорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...