【发布时间】:2018-04-14 16:07:10
【问题描述】:
我在 Oracle Forms Builder 中获得了ora-12504:tns:listener was not given the SERVICE_NAME in CONNECT_DATA,但我可以通过 SqlDeveloper 连接到同一个实例!
Oracle Forms Builder 中应该有哪些变化?
【问题讨论】:
标签: oracle oracleforms tnsnames tns
我在 Oracle Forms Builder 中获得了ora-12504:tns:listener was not given the SERVICE_NAME in CONNECT_DATA,但我可以通过 SqlDeveloper 连接到同一个实例!
Oracle Forms Builder 中应该有哪些变化?
【问题讨论】:
标签: oracle oracleforms tnsnames tns
我认为您(应该)为您的当前用户提供一个 Windows 环境变量 TNS_ADMIN。
在您的 Windows 注册表中,可能有一个键,例如 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OH135135763],它有两个子键
FORMS_PATH 的值为 C:\Oracle\Middleware\Oracle_FRHome1\forms;
和
TNS_ADMIN 的值为 C:\Oracle\Middleware\asinst_1\config
推测。
在FORMS_PATH的值末尾添加TNS_ADMIN的值
C:\Oracle\Middleware\Oracle_FRHome1\forms;C:\Oracle\Middleware\asinst_1\config现在你应该可以连接了。
或者问题可能与您的 tnsnames.ora 文件的语法有关,您可以尝试以下一种:
mydb=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myproddb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = prddb.mycompany.com)
)
)
而不是
mydb=
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = myproddb)(PORT = 1521))
)
(SERVER = DEDICATED)
(SERVICE_NAME = prddb.mycompany.com)
)
即排除(CONNECT_DATA = 并包括(ADDRESS_LIST= 可能会有问题。
【讨论】: