【新手求助】JDBC部分关于连接Oracle数据库失败的问题

半生的救赎 2017-07-20 09:23:32
求各位大神帮忙看一下是哪里的问题!
(1)Java Code
public class LoadingDriverDemo {
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:mldn";
public static final String DBUSER = "scott";
public static final String PASSWORD = "tiger";
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//第一步:加载数据库驱动程序
Class.forName(DBDRIVER);//向容器中加载驱动中的连接类
//第二步:取得数据库连接对象
Connection conn = DriverManager.getConnection(DBURL,DBUSER,PASSWORD);
System.out.println("数据库已连接");
//第三步:取得数据库连接对象
Statement stmt = conn.createStatement();//创建数据库
String sql = "INSERT INTO member(id,name,age,birthday,note)"
+"VALUES(myseq.nextval,'张三',"
+"10,TO_DATE('1990-10-01','yyyy-MM-dd'),暂无";
int len = stmt.executeUpdate(sql); //执行更新,返回更新行数
System.out.println("影响的数据行数"+len);
//第四步:关闭数据库连接
conn.close();
}
}


(2)运行提示错误
Exception in thread "main" java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


(3)确认OracleOraDb11g_home1TNSListener和OracleServiceMLDN服务都已经开启

(4)Oracle的SID确认是mldn


(5)listener.ora配置如下
# listener.ora Network Configuration File: E:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.


SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\Oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)

ADR_BASE_LISTENER = E:\Oracle

===================================================
在线等!急!
...全文
243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
半生的救赎 2017-07-24
  • 打赏
  • 举报
回复
问题解决了,把SID_NAME和GLOBLE_DBNAME都改成了mldn 就好了
半生的救赎 2017-07-23
  • 打赏
  • 举报
回复
没人吗???
半生的救赎 2017-07-21
  • 打赏
  • 举报
回复
还是不对啊老哥 SID我又改成mldn也不对 错误提示还是一样
自由自在_Yu 2017-07-21
  • 打赏
  • 举报
回复
可能就是Oracle得监听配置出了问题,打开listener.ora增加以下部分试试 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:\Oracle\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:E:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = oracle) (ORACLE_HOME = E:\Oracle\product\11.2.0\dbhome_1) (SID_NAME = oracle) ) )

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧