写了一段代码读取Oracle数据,已经安装oracle客户端并设置了classpath=D:\oracle\ora92\jdbc\lib\classes12.jar;.
采用Eclipse或者JCreator都可以编译成功,但运行时报错
Hello World
before get driver
Error java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
转到dos下直接输入java MyDbTest却可以正常从数据库中查询到数据。代码如下,应该没问题。请帮忙看看是不是IDE或者系统设置出错了
import java.sql.*;
public class MyDbTest
{
public static void main(String[] args)
{
System.out.println("Hello World"); 
try
{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("before get driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(Exception e)
{
System.err.println("Error " + e);
}

//String dbUrl = "jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:\\ReportDemo.mdb";
String url="jdbc:oracle:thin:@172.16.3.2:1521:MyOracle";   
try
{
System.out.println("before Connect");
Connection conn = DriverManager.getConnection(url, "gx", "gx");
System.out.println("before statement");
Statement stmtNew = conn.createStatement() ;
System.out.println("before select");
ResultSet rs = stmtNew.executeQuery("select * FROM MyTable");
ResultSetMetaData rsMetaData = rs.getMetaData();

int i;
for(i = 1; i <= rsMetaData.getColumnCount(); i ++) 
System.out.print(rsMetaData.getColumnName(i) + '\t');
System.out.print('\n'); 
while(rs.next())
{
for(i = 1; i <= rsMetaData.getColumnCount(); i ++) 
System.out.print(rs.getString(i) + '\t');
System.out.print('\n');
}

}
catch(Exception e)
{
System.err.println("Error " + e);
}


}
}