Я использую следующую команду для загрузки данных в SQL Server:
INSERT INTO [NewTable]
SELECT * FROM OPENROWSET
(
'MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\SomeFolder\;'
, 'SELECT * from [SomeFile.csv]'
);
Проблема в том, что, по-видимому, драйвер пытается угадать тип данных для каждого поля, и в случае неудачного приведения он просто читает ноль. Например, допустим, у меня есть следующее
SomeCode SomeName
100 A
299 B
22 C
123 D
ABC E
900 F
Кажется, что рисунок SomeCode является целым числом, и он будет читать "ABC" как NULL. Есть ли способ, которым я могу остановить это. Все, что я хочу, это чтобы данные обрабатывались как varchars на всем протяжении.
Есть идеи?