日期:2014-05-17  浏览次数:20515 次

SQL语句将表中的数据导出为xml文件。
USE test
GO

CREATE TABLE test_blan(x VARCHAR(100),y VARCHAR(100))
GO

INSERT INTO test_blan 
SELECT 'a','a' UNION ALL
SELECT 's','s' UNION ALL
SELECT 'd','d' UNION ALL
SELECT 'f','f' UNION ALL
SELECT 'g','g' UNION ALL
SELECT 'q','q' UNION ALL
SELECT 'w','w' UNION ALL
SELECT 'e','e' UNION ALL
SELECT 'r','r' UNION ALL
SELECT 't','t' UNION ALL
SELECT 'y','y' 

CREATE VIEW test_log AS SELECT 'root' l 

CREATE TABLE TT(aa XML )

DECLARE @x XML

SET @x = (SELECT * FROM test_log IRoot,test_blan IData FOR XML AUTO) 
INSERT TT VALUES (@x)

EXEC [master].sys.xp_cmdshell 'bcp TT out E:/123.xml -c -T -k'


当我执行最后一句 xp_cmdshell存储过程时报错,这个存储过程我已经开启了。报错信息如下:
SQLState = S0002, NativeError = 208
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]对象名 'TT' 无效。
NULL

------最佳解决方案--------------------
无效 'TT' 
------其他解决方案--------------------
引用:
无效 'TT'

你觉得什么牌子的TT比较有效啊?
------其他解决方案--------------------
EXEC [master].sys.xp_cmdshell 'bcp TT out E:/123.xml -c -T -k'

改为
EXEC [master].sys.xp_cmdshell 'bcp Test.dbo.TT out E:/123.xml -c -T -k'

就对了。。。。
------其他解决方案--------------------
试试直接用查询:
EXEC master..xp_cmdshell 'bcp "SELECT * FROM test_log IRoot,test_blan IData FOR XML AUTO" queryout E:\123.xml -c -T -k'
------其他解决方案--------------------
NMB

引用:
引用:无效 'TT'
你觉得什么牌子的TT比较有效啊?

------其他解决方案--------------------
null