在SQL Server中使用BCP命令导出xml数据

时间:2014-11-26 13:38:21

标签: sql-server sql-server-2008 bcp

我正在尝试以xml格式导出数据库数据,但是,问题就像我能够创建xml文件但数据无法写入文件以下是我正在尝试的代码。

DECLARE @cmd  VARCHAR(2000);

SET @cmd = 'bcp.exe "select * from emp FOR XML AUTO" queryout E:\rahul_1.xml -x -T';

EXEC xp_cmdshell  @cmd ;

以下是执行上述代码后得到的输出消息

NULL
Enter the file storage type of field XML_F52E2B61-18A1-11d1-B105-00805F49916B [ntext]: 

任何人都可以在此建议我

3 个答案:

答案 0 :(得分:6)

丹你回答作品,除了最后一件事。 BCP需要有关源查询的其他信息。最好的想法是完全限定数据来源。

SET @cmd = 'bcp.exe "select * from [Database].[Schema].[Table] FOR XML AUTO" queryout E:\rahul_1.xml -c -T';

答案 1 :(得分:1)

尝试使用-w开关以正确的格式导出XML文件

SET @cmd =' bcp.exe"从[Database]中选择*。[Schema]。[Table] FOR XML AUTO" queryout E:\ filename.xml -S MyServer \ MyInstance -c -T -w';

答案 2 :(得分:0)

指定-c(字符文件):

,而不是-x参数(生成xml格式文件)
SET @cmd = 'bcp.exe "select * from emp FOR XML AUTO" queryout E:\rahul_1.xml -c -T';