在这里我有一个任何人都可以的机器上使用SQL Server在其中创建一个简单的表来运行一个简单的查询,然后我尝试了这样的内容导出到XML通过BCP文件。所有你所要做的就是更换@DatabaseName,@filename,@query与价值观有关你的机器。
当我运行查询1的错误消息是
SQLSTATE = S1000,NativeError = 0错误= [微软] [SQL Server的 本机客户端11.0]无法打开BCP主数据文件。
当运行查询2或3所述错误消息是
的Bcp.exe:未知的选项的使用:{的Bcp.exe DBTABLE |查询} {in |出 |查询|格式}数据文件。
我从SQL Server Management Studio中运行此。我真的需要一个解决方案,请帮助。
DECLARE @cmd As VARCHAR(8000)
use CP
IF EXISTS(SELECT * FROM dbo.Dummy) DROP TABLE dbo.Dummy
Declare @DatabaseName VARCHAR(200)
Declare @filename VARCHAR(200)
Declare @query As varchar(max)
set @DatabaseName = 'ALSCG-JPATHIL\SQLEXPRESS'
set @filename = 'C:\Users\jpathil\Desktop\sample.xml'
set @query = 'SELECT * FROM [CP].[dbo].[Dummy]'
CREATE TABLE Dummy (BCP_Sucks VARCHAR(200),);
INSERT INTO Dummy VALUES ('Jean');
INSERT INTO Dummy VALUES ('Derrick')
Declare @teststring VARCHAR(2000)
-- Query 1
--set @teststring = 'bcp.exe ' + '"' + @query + '" ' + 'queryout' + ' "' + @filename + '" ' + '-c -T -x -S ' + @DatabaseName
--Query 2
--set @teststring = 'bcp.exe ' + '"' + @query + '" ' + 'queryout' + ' "' + @filename + '" ' + '-c -T -x' + @DatabaseName
--Query 3
set @teststring = 'bcp.exe ' + '"' + @query + '" ' + 'queryout' + ' "' + @filename + '" ' + '-c -x' + @DatabaseName
SET @cmd = @teststring
EXEC xp_cmdshell @cmd;
这里的目标是生成一个简单的XML文件导入到我的桌面时运行在SSMS – jp3nyc
脚本你尝试过加入'PRINT @ teststring',看看命令的格式是正确的? –