3

问题:

我们正在尝试使用 Jitterbit 从客户的 Lawson (Oracle) 数据库中对 Salesforce 进行更新插入。我们在默认端口上使用 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 数据库的侦听器)
  • 代理所在的机器(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)

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

在此处输入图像描述

tnsnames.ora:

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

监听器.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
4

1 回答 1

4

Jitterbit支持页面包括:

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

加了重点。您似乎已按照这些说明进行操作,但由于无法提供服务名称,您需要进行手动设置:

要使用手动连接字符串,请展开选项部分并选中“手动构造连接字符串”。输入连接字符串并测试转换。

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

jdbc:oracle:thin:@//10.33.22.224:1521/PSILSFD1
于 2015-07-14T18:38:47.197 回答