当我尝试连接Oracle数据库时,我发现错误Visual stutio 2010
http://i.stack.imgur.com/BtIKu.jpg
http://i.stack.imgur.com/q6ffE.jpg
这是TNSNAMES.ORA:
TNS_ALIAS=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =188.11.32.22)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Run Code Online (Sandbox Code Playgroud)
这是sqlnet.ora
# sqlnet.ora Network Configuration File: F:\app\user\product\11.2.0\client_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Run Code Online (Sandbox Code Playgroud)
我现在应该怎么做??
小智 4
这是旧帖子,但由于我处于同样的情况,而且这个论坛出现在谷歌搜索的顶部,所以我决定发布我的解决方案。
我尝试向 Oracle 服务器发送 XML 请求,并从一个实例获取: ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
问题出在 FQDN service_name 中。它尝试通过 EZCONNECT 解决该问题,但在 Oracle 11g 中,EZCONNECT 根本不发送服务名称。
解决方案: 1. 在“$ORACLE_HOME\database\network\admin\sqlnet.ora”中,仅在 NAMES.DIRECTORY_PATH 中使用 TNSNAMES,如下所示:
NAMES.DIRECTORY_PATH= (TNSNAMES)
Run Code Online (Sandbox Code Playgroud)
在“$ORACLE_HOME\database\network\admin\tnsnames.ora”中创建带有 FQDN 的附加部分。喜欢:
示例 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = example.domain.com)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = x99.domain.com) (SID=X) ) )
示例.域.COM = (描述 = (地址列表 = (地址 = (协议 = TCP)(主机 = example.domain.com)(端口 = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = x99.domain.com) (SID =X) ) )
使用 tnsping utilite 对两个名称执行 ping 操作:1) tnsping 示例;2) tnsping example.domain.com - 两个名称都必须回答。
注意!当然使用您自己的 HOST、SERVICE_NAME 和 SID ;)
我希望它对某人有帮助。
BR
劳尔
| 归档时间: |
|
| 查看次数: |
33910 次 |
| 最近记录: |