1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java连接oracle报错ora-12505 JDBC连接ORACLE中的ORA-12505错误以及相关问题和解决方式...

java连接oracle报错ora-12505 JDBC连接ORACLE中的ORA-12505错误以及相关问题和解决方式...

时间:2020-05-13 15:42:16

相关推荐

java连接oracle报错ora-12505 JDBC连接ORACLE中的ORA-12505错误以及相关问题和解决方式...

问题描述:重装系统和oracle 11g,实例名orcl,输入以下代码

import java.sql.*;

public class TestJDBC {

public static void main(String[] args) throws Exception {

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.100:1521:ORCL", "scott", "tiger");

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("select * from dept");

while(rs.next()){

System.out.println(rs.getString("deptno"));//把deptno字段当做字符串拿出来

System.out.println(rs.getInt("deptno"));//把deptno字段当做Int类型拿出来

}

rs.close(); //关闭管道

stmt.close();

conn.close();

}

}

然后执行发现ORA-12505错误,该错误比较简单只需要在listener.ora文件中做出以下修改。注意host设置成服务器IP,该测试在一台电脑上测试,所以用本机IP.

# listener.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = F:\Oracle\product\11.2.0\dbhome_1)(SID_NAME = ORCL))

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))

)

)

然后tnsnames.ora设置如下,注意红字部分ip

# tnsnames.ora Network Configuration File: F:\Oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

LISTENER_ORCL =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))

ORACLR_CONNECTION_DATA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

(CONNECT_DATA =

(SID = CLRExtProc)

(PRESENTATION = RO)

)

)

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

lsnrctl stop/start用来关闭和打开监听服务,在设置完成后,要挨个关闭oracle的每一样服务然后再从新启动即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。