我正在尝试使用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命令有什么问题的任何想法?
答案 0 :(得分:1)
您没有在命令中指定服务器。添加具有正确值的-S
选项。如果您的服务器是服务器上的“默认”实例,则可以放置-S.
如果可能,可以通过从硬盘驱动器中删除不必要的文件或添加更大尺寸的新硬盘来增加更多硬盘空间。
检查数据库是否设置为自动增长。
检查尝试访问数据库的帐户是否具有足够的权限来执行操作。
确保.mdf和.ldf文件未在操作系统文件系统级别标记为只读。