У меня есть текстовый файл (txt) содержащий форматированный текст (просто разрывы строки, возвраты каретки и вкладки), Он также содержит немецкие символы языка.
Я хочу использовать Объемный комментарий Вставки в T-SQL для чтения в текстовом файле в одно поле в таблице базы данных.
Я выполнил эту команду:
CREATE TABLE #MyTestTable (
MyData NVARCHAR(MAX)
)
BULK INSERT [#MyTestTable]
FROM 'D:\MyTextFile.txt'
SELECT * FROM #MyTestTable
Проблема состоит в том, что это читает каждую строку текстового файла в новую строку в таблице Temp. Я хочу, чтобы это считало целый файл (форматирование и все) в одну строку.
Также немецкие символы языка, кажется, потеряны - замененный значением по умолчанию непечатаемого символа в Представлении Результатов.
Кто-либо какие-либо идеи, как я могу достигнуть этого?
Спасибо.
Вы можете использовать параметры ROWTERMINATOR
и CODEPAGE
. Знак конца строки по умолчанию - '\ r \ n'. Для CODEPAGE вам необходимо знать кодировку вашего необработанного файла и параметры сортировки вашей БД по умолчанию.
BULK INSERT [#MyTestTable]
FROM 'D:\MyTextFile.txt'
WITH (ROWTERMINATOR = '\0',
CODEPAGE = 'ACP')
См. Также http://msdn.microsoft.com/en-us/library/ms188365.aspx
Это действительно требует небольшой работы по программированию - часа работы или около того, плюс другое тестирование и столько времени на выполнение, сколько потребуется.