当前位置: 首页 > 知识库问答 >
问题:

java.lang.ArrayIndexOutOfBoundsException:连接到Oracle 10g XE时

端木令
2023-03-14

您好,我正在尝试与JDBC建立Oracle连接。

我在Win 7 x86上运行,运行Oracle 10g R2 XE,Eclipse Java EE Juno和Java SE v1.7。自从之前使用 ojdbc 以来,我已经在 WebContent/WEB-INF/lib 中包含 class.12.jar 和 ojdbc5.jar .jar它在连接到数据库时出错。所以我不确定我到底要包括哪个驱动程序。

我的代码是:

    Connection conn = null;
    String driverName = "oracle.jdbc.OracleDriver";
    String url = "jdbc:oracle:thin:@localhost:1521:xe";

    Class.forName(driverName);
    conn = DriverManager.getConnection(url, "system", "mypassword"); //exception occurs here

它在最后一行给出以下异常

java.lang.ArrayIndexOutOfBoundsException: 7
at oracle.security.o3logon.C0.r(C0)
at oracle.security.o3logon.C0.l(C0)
at oracle.security.o3logon.C1.c(C1)
at oracle.security.o3logon.O3LoginClientHelper.getEPasswd(O3LoginClientHelper)
at oracle.jdbc.ttc7.O3log.<init>(O3log.java:289)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:251)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:246)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectionManager.getConnection(ConnectionManager.java:16)
at ConnectionManager.main(ConnectionManager.java:24)

山姆做错了什么,或者我还是用错了司机。我应该包括哪一个?

编辑

我也试过网址:

String url = "jdbc:oracle:thin:@//localhost:1521/xe";

它给了我以下例外:

java.sql.SQLException: Io exception: Invalid connection string format, a valid format is: "host:port:sid" 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:323)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:260)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectionManager.getConnection(ConnectionManager.java:17)
at ConnectionManager.main(ConnectionManager.java:25)

我还尝试将驱动程序名称改为:

String driverName = "oracle.jdbc.driver.OracleDriver";

没有用。

并且同时使用ojdbc5.jar,ojdbc6.jar,但没有用。:'(

共有1个答案

羿博延
2023-03-14

您的网址似乎有误。

如果您引用的是< code>ojdbc5.jar,您最好使用< code>ojdbc6.jar

可以在以下位置找到Jar

$ORACLE_HOME/jdbc/lib/ojdbc6.jar

这样做:-

Connection conn = null;
String driverName = "oracle.jdbc.driver.OracleDriver";

运筹学

String driverName = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@//localhost:1521/xe";

Class.forName(driverName);
conn = DriverManager.getConnection(url, "system", "mypassword");
 类似资料:
  • 我正在尝试运行卡桑德拉,但每次它在连接时都会给出相同的错误...有什么我需要在配置文件或属性文件中编辑的吗? ('无法连接到任何服务器',{'127.0.0.1:9042 ':错误(61,"尝试连接到[('127.0.0.1 ',9042)]。最后一个错误:连接被拒绝")}) 启动cassandra时出错

  • 我已经做了所有的尝试,但都不起作用,这是我的问题,我试图将一些文件从一台机器发送到另一台机器,想法是在目标机器上创建一个servlet,在服务器上运行它,并等待任何客户机连接,客户机和servlet代码在lan网络类型中完美地工作,但当涉及到wan网络类型时,我得到了这个例外 线程“main”org.apache.http.conn.HTTPhostConnectException:连接到192.

  • 我将kafka-connect docker映像()部署到ECS/fargate,为我的ECS服务分配了一个安全组,该安全组允许传入的zooper keeper和kafka bootstrap服务器通信量(纯文本和TLS),并分配了一个IAM角色,该角色允许我的ECS任务对MSK集群运行kafka操作,但connect集群在尝试从MSK集群获取代理列表时仍会超时。 在AWS中,kafka conn

  • 我正在尝试连接到Gmail帐户(通过OAuth 2.0上的ruby Gmail gem、Gmail gem、Gmail_xoauth gem,但每个方法都使用imap.rb),并获得: c:/ruby 21-x64/lib/ruby/2 . 1 . 0/net/IMAP . Rb:1045:在“initialize”中:由于目标计算机主动拒绝连接,因此无法建立连接。-连接(2)用于“imap.gm

  • 我正在尝试使用spring ldap 1.3.1连接到windows server 2008上的ldap active directory。发布和ldap配置如下所示: ldap url是:ldap://dc.fabrikam.com 用户名:管理员 密码:123456 -Springldap配置如下: > LDAPContactDAO: -在异常之前调试: 尝试使用getAllContactNa

  • 下面是/etc/kafka/connect-MongoDB-source.properties中的MongoDB配置 但是低于误差 以独立模式运行连接器。 我在debezium-debezium-连接器-mongob-1.0.0/debezium-connector-mongodb-1.0.0.Final.jar 类路径的设置如下 使用插件路径,我看到它能够注册和加载所有必需的插件。 但最后还是同