oracle 的 ODBC 连接不上

时间:2021-10-02 21:53:46
oracle 10g

我在本机上装了一个服务端数据库,然后在net manger里面测试是连接成功的

然后在客户端net manager里面测试也是连接成功

sqlplus里面和plsql里面也可以连进去

但就是在ODBC里面连接不成功

报错,ORA-12154: TNS: 无法解析指定的连接标识符

我全部是本地连接本地,没有远程。监听都开着呢,客户端和服务端都开着呢

请问是什么原因

11 个解决方案

#1


应是你的ODBC的配置有问题吧

#2


管理工具数据源里面的系统DSN

没什么问题啊

#3



C:\Documents and Settings\GL>tnsping oa

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-7月 -
2011 08:49:36

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:


已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 168.1.17.173)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (10 毫秒)

C:\Documents and Settings\GL>tnsping oa-c

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-7月 -
2011 08:50:40

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:

TNS-03505: 无法解析名称


+++++++++++++++++++++++++

本地数据库oa
客户端名称oa-c

#4


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:oracl">
</property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
 看看你的Jar包加了没有这是一个在Spring里的配置,你是在什么环境下配置的?

#5


我现在是用最老的那个东西

ASP+ODBC+ORACLE,部署一个网站,就ODBC这块有问题

#6


建立ODBC的时候那个,TNS service name应该是数据库实例名。我也出现这样过,结果在下拉菜单直接选择实例名,就可以了啦;

#7


数据源的配置有问题的。

#8


每天只要回复就可以获得10个可用分

#9


每天只要回复就可以获得10个可用分

#10


ODBC名字是你配置的数据源的名字,和你的TNSNAMES.ORA没有任何关系。

配置数据源的时候才需要找你的TNSNAME,和数据库的名字也没有任何关系。

#11


你的问题到底是什么原因我不清楚,我说一下我遇到的情况,希望对你有点用:
我配置ODBC数据源,添加时总是出错,
我也可以用PL/SQL,SQLPLUS,这些都可连数据库,
但就是配置ODBC数据源时间出问题:
后来发现是因为我装的是简化版的ORACLE客户端,
换一个版本的客户端就可以正常配置ODBC数据源了。

#1


应是你的ODBC的配置有问题吧

#2


管理工具数据源里面的系统DSN

没什么问题啊

#3



C:\Documents and Settings\GL>tnsping oa

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-7月 -
2011 08:49:36

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:


已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 168.1.17.173)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (10 毫秒)

C:\Documents and Settings\GL>tnsping oa-c

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-7月 -
2011 08:50:40

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:

TNS-03505: 无法解析名称


+++++++++++++++++++++++++

本地数据库oa
客户端名称oa-c

#4


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:oracl">
</property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
 看看你的Jar包加了没有这是一个在Spring里的配置,你是在什么环境下配置的?

#5


我现在是用最老的那个东西

ASP+ODBC+ORACLE,部署一个网站,就ODBC这块有问题

#6


建立ODBC的时候那个,TNS service name应该是数据库实例名。我也出现这样过,结果在下拉菜单直接选择实例名,就可以了啦;

#7


数据源的配置有问题的。

#8


每天只要回复就可以获得10个可用分

#9


每天只要回复就可以获得10个可用分

#10


ODBC名字是你配置的数据源的名字,和你的TNSNAMES.ORA没有任何关系。

配置数据源的时候才需要找你的TNSNAME,和数据库的名字也没有任何关系。

#11


你的问题到底是什么原因我不清楚,我说一下我遇到的情况,希望对你有点用:
我配置ODBC数据源,添加时总是出错,
我也可以用PL/SQL,SQLPLUS,这些都可连数据库,
但就是配置ODBC数据源时间出问题:
后来发现是因为我装的是简化版的ORACLE客户端,
换一个版本的客户端就可以正常配置ODBC数据源了。