【问题标题】:ORA-12541 error when deploying SSIS package to a server将 SSIS 包部署到服务器时出现 ORA-12541 错误
【发布时间】:2012-12-13 12:58:30
【问题描述】:

我正在使用以下连接字符串将 SSIS 连接到 Oracle OLEDB 连接..

Data Source=Server_Name;User ID=U_Id;Password=Pwd;Provider=MSDAORA.1;

它可以在我的机器上运行,但是当我使用 C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec 在 SSIS 服务器上运行时,它给了我错误:ORA-12541: tns: no listener

我尝试使用文件tnsnames.ora,但没有得到任何结果。

【问题讨论】:

  • 试过 lsnrctl... 得到以下错误“无法打开服务 ,错误 1060。”
  • 包配置下有什么?您的生产服务器是否根据不同的 XML 文件或类似文件更改了某些值?
  • 尝试运行带有/REPORTING V 选项的dtexec 命令以获得包执行的详细输出。
  • 由于包在本地工作,但不在服务器上,这两种环境有什么区别?它们是否都具有相同的 Oracle 客户端和 tnsnames.ora 文件? tnsping Server_Name 在服务器上工作吗?服务器和Oracle服务器之间有防火墙吗?
  • @Pondlife 在我的机器上(连接有效)我尝试了 tnsping Server_Name 并得到以下结果。使用的参数文件:c:\apps\oracle\network\admin\sqlnet.ora 在 ssis 服务器上尝试相同时使用 TNSNAMES 适配器解析别名我得到以下使用的参数文件:C:\local\Oracle\clients\112_32\network \admin\sqlnet.ora 使用 HOSTNAME 适配器来解析这里的别名最后我得到了我们的旧错误 TNS-12541: TNS:no listener

标签: oracle ssis oledb ora-12541 dtexec


【解决方案1】:

您需要确定服务器上哪个 Oracle 安装目录安装了 Oracle 32 位驱动程序。 Oracle 的安装程序似乎对此没有提供任何帮助 - 卸载该批次并重新开始通常更快。

您需要修复的 TNSNAMES.ORA 位于该 Oracle 32 位客户端安装下方的 NETWORK/ADMIN 子目录中。

我不敢相信这是 2012 年(几乎是 2013 年),我们仍在为此苦苦挣扎!

【讨论】:

  • 我注意到两台机器上的 tnsnames 有点不同...... \Apps\oracle\network\admin 在 SSIS 服务器上 tnsnames.oRA 位于以下位置 C:\local\Oracle\clients\112_32\NETWORK\ADMIN\SAMPLE 这是否暗示了我的问题?
  • 尝试将您的 tnsnames.ora 文件复制到服务器的 C:\local\Oracle\clients\112_32\NETWORK\ADMIN 目录
【解决方案2】:

在工作中,如果机器是 64 位机器,我们必须安装 64 位 oracle,然后安装 32 位 oracle 才能工作。

对我来说,这个链接在本地帮助 tnsnames 正常工作。 http://www.dba-oracle.com/t_windows_tnsnames.ora_file_location.htm

确保系统变量具有 tnsnames.ora 的路径,否则应用程序似乎无法连接。

【讨论】:

    猜你喜欢
    • 2020-11-04
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多