这是我到目前为止的代码:
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盘中?我在找错了地方吗?
答案 0 :(得分:3)
这将输出到服务器的C驱动器,而不是客户端计算机。您是否可能正在查看C驱动器而不是服务器?
答案 1 :(得分:0)
对于那些无法访问服务器的c盘的人,我找到了一种检索csv文件并将其插入临时表的方法
BULK
INSERT tempTable
FROM 'c:\filename.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
select * from tempTable