Jitterbit - “ORA-12504,TNS:侦听器未在CONNECT_DATA中获得SID”

时间:2015-07-14 16:40:26

标签: database oracle jitterbit

问题:

我们正尝试使用Jitterbit从一个客户端的Lawson(Oracle)数据库向Salesforce进行upsert。我们在默认端口上使用Oracle [JDBC]驱动程序。我们在客户端网络内的机器上运行Windows Server 2008上的Jitterbit代理,客户端(但不是100%确定)确保服务器可以连接到Lawson数据库。当我们尝试从Jitterbit Studio中启动与Oracle数据库的连接时(Studio不是从Windows Server运行,我们是从本地计算机运行它),我们拒绝接受:

Listener refused the connection with the following error:
ORA-12504, TNS:listener was not given the SID in CONNECT_DATA

我希望有人可以提供帮助的问题是 - 听众缺少什么样的SID?我熟悉listener.ora的基本级别以及如何为侦听器提供SID信息以允许传入的数据库连接。

错误中的SID是否指的是:

  • Lawson数据库? (这似乎不太可能,因为我的理解是这里提到的监听器是坐在服务器上的Lawson数据库的监听器)
  • 代理所在的计算机(Windows Server 2008)?
  • 或我们正在运行Jitterbit Studio的本地计算机?

我正等着从客户端获取listener.ora和tnsnames.ora,我只想知道是否有人根据自己的经验了解根块。

堆栈跟踪,万一它有用:

Details: oracle.net.ns.NetException - Listener refused the connection with the following error:
ORA-12504, TNS:listener was not given the SID in CONNECT_DATA

    at org.jitterbit.integration.client.ui.interchange.locatable.actions.TestConnectionResultDisplayer.showResult(TestConnectionResultDisplayer.java:62)
    at org.jitterbit.integration.client.ui.interchange.locatable.actions.TestConnectionJob.runImpl(TestConnectionJob.java:55)
    at org.jitterbit.application.ui.job.UiJob$2.run(UiJob.java:509)
    at org.jitterbit.application.worker.DefaultApplicationWorker$RunnableWrapper.run(DefaultApplicationWorker.java:105)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

提供连接参数的屏幕截图:

enter image description here

的tnsnames.ora:

PSILSFD1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.33.22.224)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PSILSFD1)
    )
  )

的listener.ora:

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = psidevdba01)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

1 个答案:

答案 0 :(得分:4)

Jitterbit support pages包括:

  

使用Oracle JDBC驱动程序配置源或目标
   - 创建一个新来源并为其命名    - 从“类型”下拉列表中,选择“数据库”    - 单击选择...并找到Oracle驱动程序。确保选中JDBC复选框。如果您最近安装了驱动程序,则可能必须刷新驱动程序列表    - 根据Oracle服务器的配置方式,您可能只需输入服务器名称,登录名和密码(如果服务器在非标准端口上运行,则输入端口)。 但是,在大多数情况下,您必须手动构建连接字符串 ,请参阅下文。
  ...

重点补充。您似乎已遵循这些说明,但由于无处提供服务名称,您需要进行手动设置:

  

要使用手动连接字符串,请展开“选项”部分,然后选中“#34;手动构建连接字符串"”。输入连接字符串并测试转换。

根据tnsnames.ora中的内容,连接字符串为:

jdbc:oracle:thin:@//10.33.22.224:1521/PSILSFD1