在這裏我有一個任何人都可以的機器上使用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',看看命令的格式是正確的? –