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

sqlserver存储过程,可以将print打印的字符串写入到txt文件里吗?
在存储过程里,使用print命令是将文字打印到了控制台,我怎么讲print打印的文字在存储过程里写入到txt文件里?

------解决方案--------------------
--入SQLServer

select *  into 你的表 from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=c:/temp;','select * from contact.txt')

--查詢導出
EXEC master..xp_cmdshell 'bcp "SELECT class_no,kind_no,cn_name FROM new_ks.dbo.kind ORDER BY 1,2" queryout "e:/TX1.txt" -c -q -S"sprogram" -U"develop" -P"12345"'
--直接导出到txt文件

EXEC master..xp_cmdshell 'bcp DB_MRP.dbo.dept out "e:/TX3.txt" -c -S"GUIDE-1" -U"develop" -P"12345"' 

--直接导出到xls文件
EXEC master..xp_cmdshell 'bcp DB_MRP.dbo.dept out "e:/TX3.xls" -c -S"GUIDE-1" -U"develop" -P"12345"' 

 

------解决方案--------------------
在存储过程里,建议先把文字INSERT INTO到一张表中,最后再用BCP方式或程序方式导出。直接在存储过程里写导出代码不好。因为涉及到权限问题。