在jbuilderx中编译运行下面的java程序都没问题,但把该程序的class加载到数据库(oracle9i,win2000)中后运行就出问题了java:
package jdbcthin;
import java.sql.*;public class dbAccess
{
public static void main (String args []) throws SQLException
{
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
try{
conn = getConn();
stmt = conn.createStatement();
rset = stmt.executeQuery(
"select BANNER from SYS.V_$VERSION" );
while (rset.next()){
System.out.println (rset.getString(1)); // Print col 1
}
}catch(SQLException e){
System.out.println(e.toString());
}
finally{
try{
rset.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println(e.toString());
}
}
} private static Connection getConn() throws SQLException{
Connection conn = null;
try{
DriverManager.registerDriver (
new oracle.jdbc.driver.OracleDriver()
); conn = DriverManager.getConnection
("jdbc:oracle:thin:@192.168.0.1:1521:db", "admin", "cotfora"); }catch(SQLException e){
System.out.println(e.toString());
}
return conn;
}
}pl/sql存储过程:
create or replace procedure testdb
as language java name 'jdbcthin.dbAccess.main (java.lang.String[])';运行存储过程:
SQL> exec testdb;
ORA-29532: Java 调用被未捕获的 Java 例外终止: java.lang.NullPointerException
ORA-06512: 在"cola.TESTDB", line 0
ORA-06512: 在line 1在java代码中哪还有未捕获的 Java 例外,郁闷啊!!!
package jdbcthin;
import java.sql.*;public class dbAccess
{
public static void main (String args []) throws SQLException
{
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
try{
conn = getConn();
stmt = conn.createStatement();
rset = stmt.executeQuery(
"select BANNER from SYS.V_$VERSION" );
while (rset.next()){
System.out.println (rset.getString(1)); // Print col 1
}
}catch(SQLException e){
System.out.println(e.toString());
}
finally{
try{
rset.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println(e.toString());
}
}
} private static Connection getConn() throws SQLException{
Connection conn = null;
try{
DriverManager.registerDriver (
new oracle.jdbc.driver.OracleDriver()
); conn = DriverManager.getConnection
("jdbc:oracle:thin:@192.168.0.1:1521:db", "admin", "cotfora"); }catch(SQLException e){
System.out.println(e.toString());
}
return conn;
}
}pl/sql存储过程:
create or replace procedure testdb
as language java name 'jdbcthin.dbAccess.main (java.lang.String[])';运行存储过程:
SQL> exec testdb;
ORA-29532: Java 调用被未捕获的 Java 例外终止: java.lang.NullPointerException
ORA-06512: 在"cola.TESTDB", line 0
ORA-06512: 在line 1在java代码中哪还有未捕获的 Java 例外,郁闷啊!!!
conn = getConn();估计getConn
返回null数据库联接建立失败
new oracle.jdbc.driver.OracleDriver()
);
这里估计有问题