过去,我在SQL Server中使用xp_cmdshell来调用BCP实用程序,以便在两台Windows机器之间将文本文件导入SQL Server上的表中.这两台计算机位于同一个域,无需密码(因为SQL Server命令使用的是受信任/密码较少的连接).这是通过设置源计算机的目录来完成的,以使文件继承目标计算机所属的组所有权.
我想知道,当使用相同的方法将文本文件从Solaris服务器导入到同一Windows服务器但是在不同的域上时,是否也可以这样做.
以下是我想要执行的存储过程:
DECLARE @CMD VARCHAR(6000), @SystemCode INT; DECLARE @ResultsFromCommand TABLE(SystemMessage VARCHAR(500)); SELECT @Cmd ='bcp [Destination].dbo.AC_Test in "ftp://10.251.11.10/TestFile.txt" -c -F2 -r\n -t^| -Ssqldevelopment\sqldevelopment -T'; INSERT @ResultsFromCommand EXEC @SystemCode = MASTER.dbo.xp_cmdshell @Cmd; SELECT * FROM @ResultsFromCommand;
因为无法建立连接,我收到了SQL Native Error 0.
我想知道如果因为上次机器在同一个域上,我只需要放置目录"\ ftpprod\testserver\file.txt",这次域名不同我必须使用"ftp:\ 10.251. 11.10\TestFile.txt",这将使它变得不可能.