我有以下问题。我有一个包含多行1400个字符的平面文件。我将此文件的BULK INSERT
运行到一个包含单个nvarchar(1400)
列的表中。
声明如下:
BULK INSERT tempTable
FROM 'path\file'
WITH (FIELDTERMINATOR= '',ROWTERMINATOR = '\n',MAXERRORS = 0)
运行正常,没有错误。但经过仔细研究,我注意到有一行被“截断”,只有230个字符。
用Sublime打开(大)文件后,我发现这一行被截断了这些特殊字符的外观,如[NUL]
(括号应该是正方形,这就是我看到它的方式在Sublime)。像
9999999999999 99999999999991000000JOHN DOE [NUL][NUL][NUL][NUL][NUL][NUL]ABCDE99999999
注意,如果我用记事本打开文件,字符将被空格替换,如下所示:
9999999999999 99999999999991000000JOHN DOE ABCDE99999999
在任何情况下,有没有办法让批量插入在找到这些字符后继续读取该行,而不是截断它?
由于
答案 0 :(得分:2)
我遇到了同样的问题,我们通过使用“SQL Server导入和导出向导”解决了这个问题。在Microsoft SQL Server管理工作室内,打开对象资源管理器并右键单击您的数据库名称。选择选项任务>>导入数据。将打开“新建SQL Server导入和导出向导”窗口。选择Source作为平面文件并浏览平面文件。在“目标”下,选择“Microsoft OLE DB Provider for SQL Server”,提供SQL Server名称和数据库名称。在下一页上,编辑映射(目标表)。希望如此,这将有效。