0

这是我到目前为止的代码:

DECLARE @bcpCommand varchar(2000)   
DECLARE @query varchar(2000)

SET @query = 'select job_description from [mainDB].[myschema].[table]'
SET @bcpCommand = 'bcp " ' + @query + ' "  queryout "c:\test.csv" -T -c -t,'''
EXEC master..xp_cmdshell @bcpCommand

当我运行它时,我收到以下消息:

NULL
开始复制...
1000 行已成功批量复制到主机文件。
收到的总数:1000 1000 行已成功批量复制到主机文件。
收到的总数:2000 1000 行已成功批量复制到主机文件。
收到的总数:3000 1000 行已成功批量复制到主机文件。
收到的总数:4000 1000 行已成功批量复制到主机文件。
收到的总数:5000 1000 行已成功批量复制到主机文件。
收到的总数:
复制了 6000 6564 行。
网络数据包大小(字节):4096
时钟时间(毫秒)总计:16 平均:(每秒 410250.00 行)

但是c盘里没有这个文件。为什么文件没有出现在c盘?我看错地方了吗?

4

2 回答 2

3

这将输出到服务器的C盘,而不是客户端机器。您是否有可能正在查看您的 C 驱动器而不是服务器的驱动器?

于 2012-10-18T13:36:33.117 回答
0

对于那些无法访问服务器 C 盘的人,我找到了一种检索 csv 文件并将其插入临时表的方法

BULK
INSERT tempTable
FROM 'c:\filename.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO

select * from tempTable
于 2012-10-18T13:45:50.473 回答