抖动 - "ORA-12504, TNS:listener was not given the SID in CONNECT_DATA"
Jitterbit - "ORA-12504, TNS:listener was not given the SID in CONNECT_DATA"
问题:
我们正在尝试使用 Jitterbit 从客户的 Lawson (Oracle) 数据库向 Salesforce 执行更新插入。我们在默认端口上使用 Oracle [JDBC] 驱动程序。我们在客户端网络内的一台机器上的 Windows Server 2008 上安装了 Jitterbit Agent 运行,客户端向我们保证(但不是 100% 确定)服务器可以连接到 Lawson 数据库。当我们尝试从 Jitterbit Studio 中启动与 Oracle 数据库的连接时(Studio 不是来自 Windows 服务器的 运行,我们是来自本地计算机的 运行)我们是拒绝:
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.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)
)
)
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
Configure a source or target with the Oracle JDBC driver
- Create a new source and give it a name.
- From the Type drop-down, select Database.
- Click Select... and locate the Oracle driver. Make sure the JDBC check-box is selected. You may have to refresh the driver list if you recently installed the driver.
- Depending on how the Oracle server is configured you may just have to enter the Server Name, Login and Password (and port if the server runs on a non-standard port). However, in most cases you will have to construct the connection string manually, see below.
...
添加了重点。您似乎已按照这些说明进行操作,但由于无法提供服务名称,您需要进行手动设置:
To use a manual connection string, expand the Options section and check "Construct connection string manually". Type in the connection string and test the transformation.
根据您 tnsnames.ora 中的内容,连接字符串将为:
jdbc:oracle:thin:@//10.33.22.224:1521/PSILSFD1
问题:
我们正在尝试使用 Jitterbit 从客户的 Lawson (Oracle) 数据库向 Salesforce 执行更新插入。我们在默认端口上使用 Oracle [JDBC] 驱动程序。我们在客户端网络内的一台机器上的 Windows Server 2008 上安装了 Jitterbit Agent 运行,客户端向我们保证(但不是 100% 确定)服务器可以连接到 Lawson 数据库。当我们尝试从 Jitterbit Studio 中启动与 Oracle 数据库的连接时(Studio 不是来自 Windows 服务器的 运行,我们是来自本地计算机的 运行)我们是拒绝:
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.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)
)
)
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
Configure a source or target with the Oracle JDBC driver
- Create a new source and give it a name.
- From the Type drop-down, select Database.
- Click Select... and locate the Oracle driver. Make sure the JDBC check-box is selected. You may have to refresh the driver list if you recently installed the driver.
- Depending on how the Oracle server is configured you may just have to enter the Server Name, Login and Password (and port if the server runs on a non-standard port). However, in most cases you will have to construct the connection string manually, see below.
...
添加了重点。您似乎已按照这些说明进行操作,但由于无法提供服务名称,您需要进行手动设置:
To use a manual connection string, expand the Options section and check "Construct connection string manually". Type in the connection string and test the transformation.
根据您 tnsnames.ora 中的内容,连接字符串将为:
jdbc:oracle:thin:@//10.33.22.224:1521/PSILSFD1