所以我一直在浏览与我的问题相关的一些问题,但我似乎无法解决它。我在自己的SQL服务器上工作,但是一旦我将它移到另一台服务器上,我现在就遇到了问题。
这是我正在使用的bcp out命令:
declare @sql varchar(1000)
set @sql = 'bcp DatabaseName.dbo.TableName out C:\'+@name+'.txt -c -t"\t" -T -U"'+@user+'" -P"'+@password+'" -S"'+ @@SERVERNAME +'"'
exec master..xp_cmdshell @sql
但是我从服务器得到了这个:
SQLState = 37000, NativeError = 4060
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot open database "DatabaseName" requested by the login. The login failed.
SQLState = 28000, NativeError = 18456
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'NT AUTHORITY\SYSTEM'.
NULL
我不知道我现在做错了什么,而且我已经尝试过我在其他线程中看到的有关它的修复程序,但仍然没有。
编辑:我以前在自己的服务器上使用过这个命令,它运行得很好。
declare @sql varchar(1000)
set @sql = 'bcp DatabaseName.dbo.TableName out C:\'+@name+'.txt -c -t"\t" -T -S'+ @@SERVERNAME
我还在第一个命令中删除了-T,并且用户登录失败而不是NT Authority系统帐户。即使登录正确。
解决了......我真是个傻瓜。
答案 0 :(得分:0)
bcp 命令行的选项:
-S服务器名称
-T可信连接
-w宽字符类型
-t字段终止符
bcp AdventureWorks2014.HumanResources.vEmployee out C:\DataFiles\SsisExample\source\EmployeeData.txt -w -t, -S localhost\SqlSrv2014 -T