在SQLPlus Worksheet中使用用户名system,密码manager,权限sysdba登录myoracle创建create table testtable(name varchar(20),email varchar(30)); 
并插入3条数据,使用select * from testtable;查看数据,3条数据都正常录入。编写Java程序,其中关于数据库的访问语句如下:
先引入包:import oracle.jdbc.driver.*;,并将该包路径放置在classpath下
String drivername = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@192.168.0.1:1521:myoracle";
String user = "system";
String password = "manager";
String queryString = " SELECT * FROM testtable;";Connection conn = null; 
Statement st = null; 
ResultSet rs = null; 
try { 
Class.forName( drivername );
conn = DriverManager.getConnection( url, user, password );
st = conn.createStatement();
rs = st.executeQuery( queryString );
while(rs.next()) {
System.out.print("Name:" + rs.getString("name"));
System.out.print("      ");
System.out.print("E-mail:" + rs.getDouble("email"));
System.out.println("--------");
}编译通过,但执行时出现如下错误提示:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the conn
ection
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:361)        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:442)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at SimpleTest.main(SimpleTest.java:29)
29行的错误即:conn = DriverManager.getConnection( url, user, password );行的错误。请问如何修改该程序?还有个问题就是使用Java连接数据库的时候,权限在那里定义?比如使用sys用户名,使用sysdba权限带访问数据库。

解决方案 »

  1.   

    有可能是192.168.0.1这台主机上的oracle数据库相关服务没有启动。到计算机管理中的服务里面去检查一下,当然前提是你的数据库驱动和url没有错误。
    还有一点,没有必要引入包:import oracle.jdbc.driver.*;,并将该包路径放置在classpath下,如果是通过命令行方式启动程序,只要classpath中有驱动所在的路径就可以了,如果是在jbuilder或者eclipse里面,只要web-inf中的lib包中有驱动包就可以了。
      

  2.   

    应该是数据库服务器没有启动,所以才会报这样java.sql.SQLException: Io 异常: The Network Adapter could not establish the conn
    ection
    的错误.