sql写入未在Desktop中显示的csv文件

时间:2012-10-01 15:46:51

标签: sql-server stored-procedures csv

我有一个用于创建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#则调用存储过程。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分: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中。 You can read more about the USERPROFILE environment variable here.