Я использую приведенный ниже оператор SQL для чтения и импорта данных из электронной таблицы Excel в таблицу базы данных:
INSERT INTO [dbo].[TestTable] ([ColumnA], [ColumnB], [ColumnC], [ColumnD])
SELECT A.[AAA], A.[BBB], A.[CCC], A.[DDD] FROM OPENROWSET
('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Temp\TestFile\01-TestFile.xlsx;HDR=YES', 'select * from [Sheet$]') AS A;
TestTable имеет четыре столбца, принимающих только целочисленные типы данных. Импорт хорошо работает с числами в электронной таблице базы данных. Однако, если по какой-то причине в файле есть ошибка (т. Е. Вместо цифр есть текст), он завершается ошибкой, и я получаю ошибку, преобразующую nvarchar в тип данных int. Есть ли способ убедиться, что загрузка все еще работает - этот текст пропущен и отображается в таблице как NULL?