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