0

我有一个创建 csv 文件的 sql 存储过程。这是以下过程。

SET @query = 'select * from tableName123'
SET @bcpCommand = 'bcp " ' + @query + ' "  queryout "c:\linecode.csv" -T -c -t,'''
EXEC master..xp_cmdshell @bcpCommand

代码运行成功,但我在桌面上看不到 linecode.csv。这是写权限的问题还是我所做的有问题?

我正在使用 sql server 2008 和 c# 来调用存储过程。

4

2 回答 2

0

我不认为“桌面:\”会指向桌面。

您是否尝试过诸如“C:\folder\myfile.csv”之类的受信任位置?

它很可能在某处创建了一个“Desktop:\linecode.csv”文件。你能找到“*linecode.csv”吗?

于 2012-10-01T15:53:15.050 回答
0

试试这个:

SET @query = 'select * from tableName123'
SET @bcpCommand = 'bcp " ' + @query + ' " queryout "%USERPROFILE%\Desktop\linecode.csv" -T -c -t,'''
EXEC master..xp_cmdshell @bcpCommand

这取决于您定义USERPROFILE环境变量的 Windows 版本,该环境变量存在于所有现代版本的 Windows 中。您可以在此处阅读有关USERPROFILE环境变量的更多信息。

于 2014-09-18T13:59:07.763 回答