Я использую BCP для экспорта и импорта данных, но кажется, что типы данных SQLNUMERIC или SQLDECIMAL не поддерживаются.С экспортом вроде бы все в порядке:
-- hit alt+Q then M to enable SQLCMD mode
use tempdb
go
create table mytest (a decimal);
insert mytest values (3.3);
-- export to c drive
!!bcp "tempdb..mytest" out "c:\mytest.dat" -T -n -S"YourServer\YourInstance"
!!bcp "tempdb..mytest" format nul -T -n -f "c:\mytest.fmt" -S"YourServer\YourInstance"
GO
Это работает нормально, но когда я затем возвращаюсь к импорту данных обратно (вот так):
SELECT a.*
FROM OPENROWSET(
BULK 'C:\mytest.dat',
FORMATFILE = 'C:\mytest.fmt') AS a
Я получаю сообщение об ошибке:1007 *
Msg 4838, Level 16, State 1, Line 2
The bulk data source does not support the SQLNUMERIC or SQLDECIMAL data types.
Вопрос Как импортировать числовые данные, которые были экспортированы с использованием BCP?У меня есть контроль над командами bcp, показанными в этом вопросе, но не определения таблиц.Предпочтительным является решение только на T-SQL.