Topic: JDBC thin驱动的怪事

  Print this page

1.JDBC thin驱动的怪事 Copy to clipboard
Posted by: flueboy
Posted on: 2004-10-13 08:56

源码如下:
import java.sql.*;
public class QueryDBthin
{
public static void main(String[] args)
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动程序
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@sendig-server:1521:mcmserv","mcm","mcm"); //建立连接

//执行SQL语句
Statement stmt=con.createStatement();
ResultSet rs = stmt.executeQuery ("select userid from userid"); //返回查询结果
while (rs.next())
{
//System.out.println(rs.getString("id")+ " " +rs.getString("userid"));
System.out.println(rs.getString(1));
}

rs.close();
stmt.close();
con.close();
}catch(Exception e){e.printStackTrace();}
}
}

有一个怪事,asset_number是number类型时程序没有任何问题,可是为什么当我把字段asset_number换成其他varchar2类型的字段时SQL语句执行不过呢?

如果我改用JDBC-ODBC桥时就没有这些问题。

当查询语句换成“select * from cux_eam_asset_v”时也出现同样的错误, 提示如下的错误信息:
java.sql.SQLException: ORA-00600: 内部错误代码,参数: [ttcgcshnd-1], [0], [], []
, [], [], [], []

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:797)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1608)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:175
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1805)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:410)
at QueryDBthin.main(QueryDBthin.java:15)

2.Re:JDBC thin驱动的怪事 [Re: flueboy] Copy to clipboard
Posted by: scud
Posted on: 2004-10-13 11:44

如果用oracle 8i,就用8i目录下的jdbc驱动
9i用9i的

jdk也要对应

试试吧,只是可能

3.Re:JDBC thin驱动的怪事 [Re: flueboy] Copy to clipboard
Posted by: bill1
Posted on: 2004-10-19 16:36

是的,JDBC驱动不对,你可能用低版本的8i驱动连oracle 9i了,

可加在classpath=....classes12.jar;...

这个驱动放在classpath的最前面.

4.Re:JDBC thin驱动的怪事 [Re: flueboy] Copy to clipboard
Posted by: flueboy
Posted on: 2004-10-22 10:38

谢谢各位,我的驱动版本不对。BlushEmbaressed

5.Re:JDBC thin驱动的怪事 [Re: flueboy] Copy to clipboard
Posted by: cgd_60802
Posted on: 2004-11-19 09:59

我也出现了同样的问题,我用的是Eclipse,jdk1.4.2 起初在classpath重视这样设置的,C:\j2sdk1.4.2\lib;classes12.jar文件就在这个文件家的下面,可是出现同主楼一样的问题,后来我又再classpath的最前面单独的增加了一个C:\j2sdk1.4.2\lib\classes12.jar;可问题依旧。
不知该怎么办了:(

6.Re:JDBC thin驱动的怪事 [Re: flueboy] Copy to clipboard
Posted by: redbugler
Posted on: 2004-12-09 12:48

把classes12.jar复制到.../jre/lib/ext下面,就不用设定classpath了,程序会自动找到。注意,这个目录要和你使用的vm的一致。最新驱动可以到Oracle的网站上去找。Eclipse默认用的是JRE而不是JDK里的。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923