从本机数据文件

时间:2016-02-05 15:13:58

标签: sql-server sql-server-2008-r2 bulkinsert sql-server-2014

我正在尝试将表中的所有数据复制到另一个SQL服务器的相同空表。我正在使用传输文件导致无法进行直接SQL连接。由于某种原因,插入失败了这个单表。我已经成功地使用了许多其他表。是什么原因导致问题或如何克服它?

来源: Microsoft SQL Server 2008 R2(SP2) - 10.50.4321.0(X64)     2014年7月9日15:59:57     版权所有(c)Microsoft Corporation     Windows NT 6.1(Build 7601:Service Pack 1)(Hypervisor)上的标准版(64位)

目标:Microsoft SQL Server 2014 - 12.0.4100.1(X64)     2015年4月20日17:29:27     版权所有(c)Microsoft Corporation     Windows NT 6.1(Build 7601:Service Pack 1)(Hypervisor)上的标准版(64位)

使用命令行导出:

bcp myDB.dbo.f_myTable out f_myTable -n -S 123.123.123.123 -U myUsername -P %passwd%

尝试使用T-SQL导入:

BULK INSERT dbo.f_myTable FROM 'C:\f_myTable' WITH (DATAFILETYPE='native',keepidentity);

导致错误:

  

Msg 4866,Level 16,State 4,Line 70       批量加载失败。第1行第13列的数据文件中的列太长。验证字段终止符和行终止符   正确指定。       消息7399,第16级,状态1,第70行       链接服务器“(null)”的OLE DB提供程序“BULK”报告错误。提供商未提供有关错误的任何信息。       Msg 7330,Level 16,State 2,Line 70       无法从OLE DB提供程序“BULK”获取链接服务器“(null)”。

的行

以下是我已经尝试过的没有运气的事情:

  • 使用源中的脚本在源中重新创建表。
  • 使用导入选项:KEEPIDENTITY,BATCHSIZE,MAXERRORS,KEEPNULLS
  • 除了本地PC之外,还使用服务器的命令行导出

0 个答案:

没有答案