我有一个创建 CSV 文件的 Java 代码,然后我使用 SQL Sever“BULK INSERT”将数据插入数据库;我没有格式文件。SQL 服务器是 2008 年的。
当我通过单元测试运行代码然后运行以下 sql 代码时,一切正常,数据被插入到表中:
declare
@csvFileName VARCHAR (1024)= 'file.csv',
@csvFormatFileName VARCHAR (1024)= null,
@tableName VARCHAR (256) = 'tableName';
EXECUTE (
'BULK INSERT '+ @tableName +' FROM ''' + @csvFileName + ''' WITH
(FIRSTROW=2, FIELDTERMINATOR=''\t'', ROWTERMINATOR=''\n'', MAXERRORS=0);');
当我的 Java 代码在生产中运行并创建 CSV 文件时,如果我抓取创建的 CSV 文件之一并运行上述 SQL,它不会给我任何错误,但是没有数据插入到表中,我只是得到:
(0 row(s) affected)
我首先认为是导致问题的生产数据库服务器与开发数据库服务器,但事实并非如此。
这是 CSV 文件中的示例数据:
ID Date number1 number2 number3
88 2013-01-14 2 0 0.00
64 2013-01-14 0 0 0.00
我看不出有什么不同。运行没有问题的 CSV 文件和没有问题的 CSV 文件!毕竟它们是用相同的 Java 代码创建的。
是否有任何编辑器可以向我显示文件的内容,与选项卡、换行符、...完全一样?
任何帮助是极大的赞赏。