gpt4 book ai didi

sql-server - SQL Server 执行 xp_cmdshell 通过 FTP 协议(protocol)从 UNIX 机器导入文本文件

转载 作者:行者123 更新时间:2023-12-02 21:16:34 25 4
gpt4 key购买 nike

过去,我在 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 错误 0。

我想知道是否因为上次机器位于同一域中,所以我只需要放置目录“\ftpprod\testserver\file.txt”,而这次域不同我必须使用“ftp:\10.251.11.10\TestFile.txt”,这将使它变得不可能。

最佳答案

这是可能的,只需使用 psftp自动化 ftp 部分,然后在第二步中调用 bcp 从本地目录导入。

关于sql-server - SQL Server 执行 xp_cmdshell 通过 FTP 协议(protocol)从 UNIX 机器导入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com