gpt4 book ai didi

sql-server - sql server 的 bcp 错误

转载 作者:行者123 更新时间:2023-12-02 17:27:12 28 4
gpt4 key购买 nike

我在 sql server 2005 中创建了一个存储过程,用于将数据从查询导出到网络路径。该用户是sql用户,也是在AD中创建的。我登录的服务器是远程服务器,具有系统管理员权限。我在执行过程甚至查询时遇到以下错误:

output
SQLState = 08001, NativeError = 53
Error = [Microsoft][SQL Native Client]Named Pipes Provider: Could not open a connection to SQL Server [53].
SQLState = 08001, NativeError = 53
Error = [Microsoft][SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.
SQLState = S1T00, NativeError = 0
Error = [Microsoft][SQL Native Client]Login timeout expired
NULL

当我登录服务器并执行查询时,我似乎无法访问远程服务器。该程序也会在凌晨 01.30 自动执行。执行的命令是 bcp 命令:

DECLARE @SQLCommand     [varchar](max)
,@Query [varchar](max)
,@SERVER VARCHAR(1000)
SET @Query = 'SELECT * FROM INFINITY_SYSTEM.[dbo].[CTI_WFM_LILO_View]'
SET @SERVER = '[server_name]'
SET @SQLCommand = 'EXEC xp_cmdshell ''bcp "' + @Query + '" queryout "\\network_path\lilo'+CONVERT(VARCHAR,GETDATE(),112)+'.csv" -Uusername -Ppassword -c -t, -r, -S"'+@SERVER+'"''' --also tried with -T in stand of the -Uusername -Ppassword
EXEC (@SQLCommand)

当我尝试从本地 sqlserver 中的本地数据库到同一路径时,该命令有效。

谢谢

最佳答案

确保您可以远程登录到远程服务器。我还会尝试通过 sqlcmd 连接到远程服务器。您可能有防火墙阻止连接。此外,sql server 服务需要共享/目录的权限,以便您向其中写入文件。

您应该考虑的另一件事是使用 SSIS 包将数据导出到远程共享。一般来说,使用 xp_cmdshell 导出数据并不是一个好的做法。您可以通过一个简单的 SSIS 包完成您想做的所有事情。作为一个额外的好处,这还可以最大限度地降低安全风险,因为您可以禁用 xp_cmdshell。

关于sql-server - sql server 的 bcp 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17655808/

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