当前位置:编程学习 > JAVA >>

java连接oracle不能连接自己建的库的sid,只能连接orcl,急........

jdbc.url=jdbc:oracle:thin:@10.153.48.70:1521:fyyd
这个是我连接的url,我这样写的时候会报错
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied
)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:200)
... 23 more
Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:294)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:357)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
... 26 more

当我将jdbc.url=jdbc:oracle:thin:@10.153.48.70:1521:fyyd
改为jdbc.url=jdbc:oracle:thin:@10.153.48.70:1521:orcl连接正常

我给该用户赋了dba  CONNECT RESOURCE权限,请问这个是怎么回事呢?怎么解决呢?在线等.....
 
 
--------------------编程问答-------------------- jdbc.url=jdbc:oracle:thin:@10.153.48.70:1521:orcl

这里的orcl不是用户名 是oracle安装的一个数据库实例名 这个是你安装的时候可编辑的

连你自己电脑的地址 “jdbc.url=jdbc:oracle:thin:@10.153.48.70:1521:orcl”不变 
新建的用户名密码设置一下就可以了  --------------------编程问答-------------------- jdbc.url=jdbc:oracle:thin:@10.153.48.70:1521:fyyd
我这个fyyd就是数据库的实例名啊,用户名和密码都是正确的,但是连不上这个fyyd,如果换成orcl就可以连接了 --------------------编程问答-------------------- 楼上正解,orcl是数据库实例名,跟用户名是两回事 --------------------编程问答-------------------- 看系统服务有没fyyd这个监听服务。。没有的话就没这个实例 --------------------编程问答--------------------
引用 4 楼 vickie1989 的回复:
看系统服务有没fyyd这个监听服务。。没有的话就没这个实例

怎么看? --------------------编程问答-------------------- fyyd库的用户使用oracle工具能登陆么,确认这一点。如果你这个库里没有该用户当然报错了~~~ --------------------编程问答--------------------
引用 6 楼 huangjinjin520 的回复:
fyyd库的用户使用oracle工具能登陆么,确认这一点。如果你这个库里没有该用户当然报错了~~~

这个是可以的,用工具是没问题的,但是用java连接的时候就只能使用orcl这个sid,不是使用我建的fyyd的sid
这个信息是监听的信息 --------------------编程问答--------------------
引用 7 楼 wjunjia 的回复:
引用 6 楼 huangjinjin520 的回复:
fyyd库的用户使用oracle工具能登陆么,确认这一点。如果你这个库里没有该用户当然报错了~~~

这个是可以的,用工具是没问题的,但是用java连接的时候就只能使用orcl这个sid,不是使用我建的fyyd的sid
这个信息是监听的信息

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.153.48.70)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fyyd-p1lxtu5vel)(PORT=8080))(Present
ation=HTTP)(Session=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fyyd-p1lxtu5vel)(PORT=2100))(Present
ation=FTP)(Session=RAW))
Services Summary...
Service "ORCL" has 2 instance(s).
  Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "friendon" has 1 instance(s).
  Instance "friendonedev", status READY, has 1 handler(s) for this service...
Service "friendonedev" has 1 instance(s).
  Instance "fyyd", status UNKNOWN, has 1 handler(s) for this service...
Service "friendonedevXDB" has 1 instance(s).
  Instance "friendonedev", status READY, has 1 handler(s) for this service...
Service "fyyddb" has 1 instance(s).
  Instance "fyyddb", status READY, has 1 handler(s) for this service...
Service "fyyddbXDB" has 1 instance(s).
  Instance "fyyddb", status READY, has 1 handler(s) for this service...
Service "fyydnew" has 1 instance(s).
  Instance "fyydnew", status READY, has 1 handler(s) for this service...
Service "fyydnewXDB" has 1 instance(s).
  Instance "fyydnew", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully --------------------编程问答-------------------- 你确定你的fyyd是自己建的数据库实例?一般如果是的话绝对可以连上的~ --------------------编程问答-------------------- --------------------编程问答-------------------- 你看下你的服务,你的另外一个数据库实例orcl是不是也是开的? --------------------编程问答-------------------- 要有一个数据库的sid是fyyd,并且相应服务开启,我的电脑点右键,管理->服务
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,