Informatica Cloud连接本地SQL Server报错:连接被拒绝,求解决方案
尝试在Informatica Cloud中创建连接至本地SQL Server数据库,配置信息如下:
Type: SQL Server Runtime Environment: 我创建的运行时环境 Authentication Mode: Windows Authentication (Deprecated) Host: Laptopname\SQLEXPRESS Port: 1433 Database Name: AdventureWorks2012 Schema: sys Code Page: UTF-8
测试连接时触发错误:
The connection test failed because of the following error: Error establishing socket to host and port, Reason: Connection refused
已尝试以下方案但未解决:
- 在SQL Server配置管理器中启用TCP/IP;
- 在防火墙中添加1433端口的入站和出站规则;
- 在本地SQL Server执行语句开启远程访问:
EXEC sp_configure 'remote access', 1; GO RECONFIGURE; GO - 将Secure Agent添加到本地管理员组。
确认SQL Server Express的实际监听端口
SQL Server Express默认不固定使用1433端口,多为动态分配。打开SQL Server配置管理器,展开SQL Server网络配置->SQLEXPRESS的协议-> 右键TCP/IP选择属性,切换到IP地址标签,拉到最下方查看IPAll的TCP动态端口,将该端口替换到Informatica连接配置的Port字段中。验证Windows身份验证权限
尽管该认证模式已弃用,仍需确保Secure Agent运行账户具备SQL Server访问权限:
- 打开SQL Server Management Studio,登录后展开
安全性->登录名,检查Secure Agent运行账户是否存在,不存在则添加,并赋予AdventureWorks2012数据库的访问权限; - 确认该账户拥有
CONNECT SQL服务器权限。
修正Host字段格式
使用Windows身份验证时,若Host用命名实例出现解析问题,尝试替换为计算机IP地址加实例名(如192.168.x.x\SQLEXPRESS)。确保TCP/IP配置生效
修改TCP/IP设置后,需重启SQL Server服务(在SQL Server配置管理器的SQL Server服务中找到SQL Server (SQLEXPRESS),右键选择重启),保证配置落地。测试本地端口连通性
在运行Secure Agent的机器上,用命令提示符执行:
telnet Laptopname 端口号
或PowerShell执行:
Test-NetConnection Laptopname -Port 端口号
确认端口是否能正常连通,若不通则说明SQL Server未在该端口监听,或防火墙/网络仍存在拦截。
内容的提问来源于stack exchange,提问作者Siver R

