[英]Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
[英]Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException while executing query in DB2
我有以下代碼:(基本上是JAVA-DB2 Connectivity測試程序)
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestDB22
{
public static void main(String rgs[]) throws IOException, ClassNotFoundException, SQLException
{
Class.forName("COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver");
Connection con = DriverManager.getConnection("jdbc:db2:rajdb","db2admin","db2admin");
System. out .println( "From TestDB22, connection obtained " );
Statement st=con.createStatement();
ResultSet rs = st.executeQuery( "select * from libids" );
while( rs.next())
{
System.out.println(rs . getString(2));
}
}
}
我收到以下錯誤:
從TestDB22,獲得連接
com.ibm.db2處java.lang.System.arraycopy(native Method)處的線程“ main”中的java.lang.ArrayIndexOutOfBoundsException com.ibm.db2處com.ibm.db2.jcc.t4.ab.a(ab.java:103)處的異常com.ibm.db2.jcc.uw.UWReply.b(UWReply.java:62)上的com.ibm.db2.jcc.t4.ab.c的.jcc.t4.ab.a(ab.java:151) (ab.java:243)在com.ibm.db2.jcc.t4.ab.c(ab.java:354)在com.ibm.db2.jcc.t4.ab.v(ab.java:1139)在com.ibm.db2.jcc.t4.tc(t.java:44)處com.ibm.db2.jcc.t4的com.ibm.db2.jcc.t4.db.c(db.java:52)。 com.ibm.db2.jcc.am.km.km.gb(km.java:1985)的sb.i(sb.java:147)com.ibm.db2.jcc.am.km.a(km.java: 2866)在com.ibm.db2.jcc.am.km.a(km.java:628)在com.ibm.db2.jcc.am.km.executeQuery(km.java:612)在TestDB22.main(TestDB22 .java:16)
我很想說驅動程序中有錯誤。 確保您使用的是最新版本。
如果那不起作用,請嘗試使用PreparedStatement
代替(是的,我知道查詢沒有任何參數,所以請沒人反對我:)
Statement st = con.prepareStatement("select * from libids");
ResultSet rs = st.executeQuery();
您真的確定您擁有正確的JDBC驅動程序嗎?... OS390 os390相當老,在2000年左右被替換。 您是否認為您應該使用通用4型驅動程序: com.ibm.db2.jcc.DB2Driver
而不是os390特定的驅動程序COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.