2

当我尝试运行以下代码时,我收到此错误消息“java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:25978”:

import java.sql.*;

public class test_conn {

public static void main(String[] args) {
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
//          Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:22:orcl1", "system", "oracle");
        Connection con = DriverManager.getConnection(
                "jdbc:oracle:thin:@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl1)))",
                "system", "oracle");
        Statement st = con.createStatement();
        String sql = "select * from student";
        ResultSet rs = st.executeQuery(sql);
        while (rs.next()) {
            System.out.println(rs.getInt(1) + "  " + rs.getString(2));
            con.close();
        }
    } catch (Exception e) {
        System.out.println(e);
    }

}

}

你能帮我解决这个问题吗?

以下是我在控制台上看到的完整堆栈跟踪:

java.lang.StringIndexOutOfBoundsException: String index out of range: 
25978
at java.lang.String.checkBounds(String.java:385)
at java.lang.String.<init>(String.java:324)
at oracle.net.ns.Packet.extractData(Packet.java:447)
at oracle.net.ns.RefusePacket.<init>(RefusePacket.java:70)
at 
oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.j
ava:233)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:263)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
at oracle.jdbc.driver.PhysicalConnection.<init>
(PhysicalConnection.java:715)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
n.java:30)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at lecture.test_conn.main(test_conn.java:13)

谢谢你。

4

0 回答 0