要在java类中实现访问非Oracle数据库就可以了。
publicstaticStringgetStringFomSql(){StringstrResult="";Connectionconn=null;Statementstmt=null;ResultSetrs=null;try{Class.forName("com.inet.tds.TdsDriver").newInstance();Stringurl="jdbc:inetdae7:10.24.09.192:1433?database=pubs";
pubs为你的数据库的
Stringuser="sa";Stringpass
word="123";conn=DriverManager.getConnection(url,user,password);Stringsql="selecttop1dtype,dnamefromtest";stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);if(rs.next()){strResult="Theresultfromsqlserveris:dtype->"+rs.getString("dtype")+"dname->"+rs.getString("dname");}}catch(InstantiationExceptione){TODOAuto-generatedcatchblocke.printStackTrace();strResult="operatorfailinInstantiationException";}catch(IllegalAccessExceptione){TODOAuto-generatedcatchblocke.printStackTrace();strResult="operatorfailinIllegalAccessException";}catch(ClassNotFoundExceptione){TODOAuto-generatedcatchblocke.printStackTrace();strResult="operatorfailinClassNotFoundException";}catch(SQLExceptione){TODOAuto-generatedcatchblocke.printStackTrace();strResult="operatorfailinSQLException";}finally{try{rs.close();conn.close();}catch(SQLExceptione1){e1.printStackTrace();}}returnstrResult;}
值得注意的一点是,通过java存储访问SQLServer,如果返回一个结果集,在9i以下的Oracle版本是没有对应的数据类型可以转换的,一个可以变通的办法是要么返回一个字符串,要么将返回的结果集存放到Oracle中的表里。这样做是为了方便那些非Windows平台下无法直接访问SQLServer的程序。
六、外部程序调用Oraclejava存储过程
调用java存储过程的方法跟调用一般的OracleJava存储过程的方法是一样的.