ORA-12541: TNS: SSIS 中没有侦听器
ORA-12541: TNS: no listener in SSIS
我们在 SSIS 包中有 oracle oledb 连接,这些连接在 windows 服务器 2008 上运行良好。
我们将它们移动到 windows 服务器 2012 并安装了所需的软件。我们安装了oracle客户端(oraoledb驱动),将tnsnames.ora、ldap.ora和sqlnet.ora移动到%Oracle_Home%\Network\admin
路径,添加%Oracle_Home%
和 %Oracle_Home%\bin
到路径变量。
但在服务器 2012 上,oracle 连接出现此错误 ORA-12541:TNS:无侦听器。在服务器 2008 上,相同的 oracle 连接工作正常。
在互联网上看了这么多,但找到了这些解决方案:
- 勾选tnsnames.ora
- 检查侦听器是 运行
- 检查路径变量是否包含 oracle home,oracle_home\bin
我没有发现 tnsnames.ora 有问题,因为两个 window 服务器上都存在相同的文件。还设置了正确的路径变量。侦听器也是 运行(因为服务器 2008 上的 SSIS 正在连接)。而且我能够从两台机器上 ping oracle 数据库服务器。
任何人都可以提出我们可以尝试的任何建议。
在这里放一个正式的答案。
SSIS 的基本故障排除步骤:
- 使用数据库本机工具检查连接
- 在这种情况下,Oracle 是
SQLPLUS.EXE
- 如果您遇到本机工具问题,则这不是 SSIS 问题
- 检查您是否可以使用
PING <hostname>
解析主机。
- 如果不行试试
PING <ip address>
- 如果 ping 正常,请使用
TELNET <host> <port>
检查端口
- 如果这不起作用,要么服务没有监听,要么您需要让您的网络人员打开端口
这适用于任何网络服务
即
- SQL 服务器(默认端口 1433)
- Web 服务器(未加密通信的默认端口 80)
我们在 SSIS 包中有 oracle oledb 连接,这些连接在 windows 服务器 2008 上运行良好。
我们将它们移动到 windows 服务器 2012 并安装了所需的软件。我们安装了oracle客户端(oraoledb驱动),将tnsnames.ora、ldap.ora和sqlnet.ora移动到%Oracle_Home%\Network\admin
路径,添加%Oracle_Home%
和 %Oracle_Home%\bin
到路径变量。
但在服务器 2012 上,oracle 连接出现此错误 ORA-12541:TNS:无侦听器。在服务器 2008 上,相同的 oracle 连接工作正常。
在互联网上看了这么多,但找到了这些解决方案:
- 勾选tnsnames.ora
- 检查侦听器是 运行
- 检查路径变量是否包含 oracle home,oracle_home\bin
我没有发现 tnsnames.ora 有问题,因为两个 window 服务器上都存在相同的文件。还设置了正确的路径变量。侦听器也是 运行(因为服务器 2008 上的 SSIS 正在连接)。而且我能够从两台机器上 ping oracle 数据库服务器。
任何人都可以提出我们可以尝试的任何建议。
在这里放一个正式的答案。
SSIS 的基本故障排除步骤:
- 使用数据库本机工具检查连接
- 在这种情况下,Oracle 是
SQLPLUS.EXE
- 如果您遇到本机工具问题,则这不是 SSIS 问题
- 在这种情况下,Oracle 是
- 检查您是否可以使用
PING <hostname>
解析主机。- 如果不行试试
PING <ip address>
- 如果不行试试
- 如果 ping 正常,请使用
TELNET <host> <port>
检查端口- 如果这不起作用,要么服务没有监听,要么您需要让您的网络人员打开端口
这适用于任何网络服务
即
- SQL 服务器(默认端口 1433)
- Web 服务器(未加密通信的默认端口 80)