sql - 使用 BCP 从 SQL Server 2008 导出数据时出错

标签 sql sql-server-2008 bcp

我收到错误:

SQLState = S1000,NativeError = 0 错误 = [Microsoft][SQL Server Native Client 10.0]无法打开 BCP 主机数据文件

运行以下命令时:

set nocount on;
Declare @sql varchar(1000);
declare @noteid int;
declare xx1 cursor for select nic.NotebookItemId from NotebookItemContent nic
inner join NotebookLinks nl on nl.NotebookItemId = nic.NotebookItemId
inner join NotebookItems ni on ni.NotebookItemId = nic.NotebookItemId
where nl.clientid = 1235074
AND ni.NotebookTypeId = 56;
open xx1;
fetch xx1 into @noteid;
while (@@fetch_status = 0)
begin
set @sql = 'BCP "SELECT memo FROM Monarch_Pronet_ITOIL.dbo.notebookitemcontent where notebookitemid=' + cast(@noteid as varchar) + 
'" QUERYOUT C:\TEMP\' + cast(@noteid as varchar) + '.doc -T -f C:\temp\bcp.fmt -S ' + @@SERVERNAME
EXEC master.dbo.xp_CmdShell @sql
fetch xx1 into @noteid;
end;
close xx1;
deallocate xx1;

如有任何帮助,我们将不胜感激!

打印@SQL返回:

BCP "SELECT memo FROM Monarch_Pronet_ITOIL.dbo.notebookitemcontent where notebookitemid=17695498" QUERYOUT C:\TEMP\17695498.doc -T -f C:\temp\bcp.fmt -S BHAMSQL-SRV03

还意识到我原来的查询不正确(选择所有备忘录而不是使用光标...!所以现在正确的查询是上面的查询 - 为我是一个布偶道歉:D

最佳答案

你能做一下吗

PRINT @sql 

并查看 @sql 字符串值是什么。我猜,这是一个错误的引用或反斜杠

关于sql - 使用 BCP 从 SQL Server 2008 导出数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126276/

相关文章:

sql - 如何让 Microsoft BCP 导出空字符串而不是 NULL 字符?

sql - 如何翻译 Postgresql 9.3 查询以在 Postgresql 8.4 上使用?

sql - 解析查询时出错。 [ token 行号 = 1, token 行偏移 = 13,错误 token = 交易 ]

MySQL - 也使用 'total' 平均值获取所有列平均值

SQL 如何在不使用超前和滞后的情况下更新上一行和下一行值?

sql-server - 格式文件中的注释

sql - 我可以从 dacpac 生成部署脚本吗

c# - Microsoft.SqlServer.Management.Smo.Transfer 类

database - SQL Server AUTO_INCREMENT 错误

sql-server - 使用BCP时如何在@SqlStr中进行多项选择