通过 xp_cmdshell 使用 BCP 时出现问题。
我将表数据导出为 .dat 文件,但是当我尝试将文件导入新表时,出现以下错误。SQL Server 服务和我使用的帐户对该驱动器具有完全访问权限。我不知道为什么我仍然有问题。
错误 = [Microsoft][SQL Server Native Client 10.0] 无法打开 BCP 主机数据文件。
这是我正在运行的脚本。
exec master..xp_cmdshell 'BCP database.dbo.tabel OUT d:\tabledata.dat -T -c'
exec master..xp_cmdshell 'BCP database.dbo.tabelnew IN d:\tabledata.dat -T -c'
Run Code Online (Sandbox Code Playgroud)
小智 5
我有同样的情况 - 不知何故 Windows 或 SQL Server 更新改变了一些东西,以前成功的构建开始失败。在我的情况下,它是对包含失败的 dat 文件的文件夹的访问权限。我可以从命令行运行 bcp 并且它可以工作,但它在 SQL Server 中失败了。基本上,SQL 服务需要访问该文件夹。要测试这一点,请尝试运行
EXEC master..xp_cmdshell 'DIR <your-dat-folder>'
Run Code Online (Sandbox Code Playgroud)
如果失败,请检查您的访问权限(并根据需要授予)。