0

我正在尝试使用 BCP 导出到 CSV 文件,如下所示:

 DECLARE @SQL AS VARCHAR(1000)
 DECLARE @CMD AS VARCHAR(8000)

 SET @SQL='SELECT * from Pondor.dbo.tblLD'
 SET @CMD = 'bcp "' + @SQL + '" QUERYOUT "' + @FILE + '" -c -t "," -U"UserA" -P"Password" 

 exec master..xp_cmdshell @cmd

这不起作用并引发以下错误:

SQLState = 37000, NativeError = 945
由于文件不可访问或内存或磁盘空间不足,无法打开数据库“Pondor”。有关详细信息,请参阅 SQL Server 错误日志。

做一个SELECT * from Pondor.dbo.tblLD作品并返回行。关于 BCP 命令有什么问题的任何想法?

4

1 回答 1

1

您没有在命令中指定服务器。添加-S具有正确值的选项。如果您的服务器是服务器上的“默认”实例,您可以放置-S.

Pinal Dave解释了修复数据库打开错误的步骤

  1. 如果可能,通过从硬盘中删除不必要的文件或添加更大尺寸的新硬盘来添加更多硬盘空间。

  2. 检查数据库是否设置为 Autogrow on。

  3. 检查试图访问数据库的帐户是否有足够的权限执行操作。

  4. 确保 .mdf 和 .ldf 文件在操作系统文件系统级别上未标记为只读。

于 2012-06-08T12:05:40.337 回答