Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft SQL BCP格式文件-版本?_Sql_Sql Server 2012_Sql Server 2014_Bcp_Sqlbulkcopy - Fatal编程技术网

Microsoft SQL BCP格式文件-版本?

Microsoft SQL BCP格式文件-版本?,sql,sql-server-2012,sql-server-2014,bcp,sqlbulkcopy,Sql,Sql Server 2012,Sql Server 2014,Bcp,Sqlbulkcopy,我有一个关于Microsoft SQL的大容量复制程序(BCP.exe)的问题。我对使用这个程序还比较陌生,所以我希望对一些人来说这是一个简单的问题,但是我被卡住了 在服务器1上,我们运行的是Microsoft SQL 2014,它运行BCP导出许多表。它为我提供了每个表的*.DAT和*.FMT文件 当我将此数据导入到运行Microsoft SQL 2012的服务器2时,我收到一个错误: SQLState = HY000, NativeError = 0Error = [Microsoft][S

我有一个关于Microsoft SQL的大容量复制程序(BCP.exe)的问题。我对使用这个程序还比较陌生,所以我希望对一些人来说这是一个简单的问题,但是我被卡住了

在服务器1上,我们运行的是Microsoft SQL 2014,它运行BCP导出许多表。它为我提供了每个表的*.DAT和*.FMT文件

当我将此数据导入到运行Microsoft SQL 2012的服务器2时,我收到一个错误:

SQLState = HY000, NativeError = 0Error = [Microsoft][SQL Server Native Client 11.0][SQL Server]Syntax error at line 2 column 0 in xml format file. | Exit Code: 1
我读到使用BCP从较新的SQL版本转换到较旧的SQL版本时出现版本控制问题,并很快找到了手动修复此问题的方法

您可能知道,在FMT文件中,第一行包含导出数据的SQL版本号,在本例中为12.0。如果我将其更改为11.0(或10.0),则重新运行导入一切正常

以下是编辑第一行之前的FMT文件示例:

12.0
6
1       SQLNCHAR            2       72      ""   1     ListID                                                                       SQL_Latin1_General_CP1_CI_AS
2       SQLNCHAR            2       32      ""   2     EditSequence                                                                 SQL_Latin1_General_CP1_CI_AS
3       SQLNCHAR            2       62      ""   3     Name                                                                         SQL_Latin1_General_CP1_CI_AS
4       SQLBIT              1       1       ""   4     IsActive                                                                     ""
5       SQLNCHAR            2       30      ""   5     PriceLevelType                                                               SQL_Latin1_General_CP1_CI_AS
6       SQLDECIMAL          1       19      ""   6     PriceLevelFixedPercentage                                          
虽然我可以手动修复此问题,但我需要将此系统自动化,以便定期运行,因此这不是一个长期解决方案。请帮助!有什么我能做的吗

我需要修复导出,使其使用v11.0或更旧版本,或者修复导入,使其识别v12.0。我已经尝试在导入和导出上都使用-V标志,但是这对两端都没有影响


提前感谢您的专家建议

我通过为SQL Server®安装Microsoft®命令行实用程序11并将bcp.exe位置添加到路径变量中,成功地解决了这个问题。现在,我可以使用bcp 11导出版本11,从而使导出的格式文件与SQL 2012兼容。你可以从这里下载

我的问题和这个一样。你明白了吗?然而,这只是为现有问题提供了一个解决方案。我想说的是bcp中有一个bug。我将尝试在Microsoft中添加一个案例。