У меня есть данные в простом текстовом файле, я пытаюсь запросить их (чтобы поместить в таблицу), но когда я использую
select *
from OPENROWSET('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=C:\DB\;Extensions=TXT;',
'select * from data.txt ');
Я получаю строки, но все они равны NULL, потому что (я думаю) терминатор поля отсутствует и находится в формате UTF-16LE, в TXT все поля известны по количеству символов, например:
FIELD1FIELD2FIELD3FIELD4FIELD5FIELD6
FIELD1FIELD2FIELD3FIELD4FIELD5FIELD6
FIELD1FIELD2FIELD3FIELD4FIELD5FIELD6
FIELD1FIELD2FIELD3FIELD4FIELD5FIELD6
Что еще хуже, файл находится в UTF-16LE , но он мне нужен в UTF-8 (или изменить формат в sql 2005), чтобы openrowset работал
И когда я использую
SELECT * FROM OPENROWSET ( BULK 'C:\DB\data.txt', SINGLE_NCLOB) AS BinFile
Я получаю все данные, но в одной строке: (
Заранее спасибо
ps: также использовал sp_addlinkedserver и не работал