用oracle的客户端把conn设置成数据源,用sqlplus测试用conn能连接oracle
,则上面的操作可行。

解决方案 »

  1.   

    上面写错了,应该是“jdbc:oracle:oci8:@con”中con设置成数据源。
      

  2.   

    现在的代码:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    String url = "jdbc:oracle:thin:@conn:1521:conn";
    Connection conn = dm.getConnection(url,"user", "pwd");
      

  3.   

    报错:
    java.sql.SQLException: Exceding key sizeat oracle.jdbc.dbaccess.DBError.check_error(DBError.java:420)at oracle.jdbc.ttc7.O3log.<init>(O3log.java:255)at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:166)at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:103)at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:148)at java.sql.DriverManager.getConnection(DriverManager.java:517)at java.sql.DriverManager.getConnection(DriverManager.java:177)at study.JDBC.<init>(JDBC.java:38)at study.JDBC.main(JDBC.java:57)
      

  4.   

    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@con","scott", "tiger");
      

  5.   

    "Exceding key size"是啥意思????
      

  6.   

    开始的第二行:Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@con","scott", "tiger");
      

  7.   

    报空指针:
    java.lang.NullPointerException at oracle.jdbc.ttc7.TTCOutBuffer.add(TTCOutBuffer.java:129) at oracle.jdbc.ttc7.TTIMsg.marshalUB1(TTIMsg.java:372) at oracle.jdbc.ttc7.TTIpro.marshal(TTIpro.java:234) at oracle.jdbc.ttc7.TTIpro.<init>(TTIpro.java:96) at oracle.jdbc.ttc7.TTC7Protocol.connect(TTC7Protocol.java:1000) at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:158) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:103) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:148) at java.sql.DriverManager.getConnection(DriverManager.java:517) at java.sql.DriverManager.getConnection(DriverManager.java:177) at study.JDBC.<init>(JDBC.java:33) at study.JDBC.main(JDBC.java:52)
      

  8.   

    可能关键问题还是
    异常中"Exceding key size"所代表的意思
      

  9.   

    Class.forName("oracle.jdbc.driver.OracleDriver");
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@conn:1521:orcl","scott", "tiger");
    conn:服务器的机器名或者ip地址
    orci:数据库服务名
    试试看,你也会看得到!
      

  10.   

    JBUILDER内有一个专门负责连接的,可以用来测试
      

  11.   

    昨天终于把问题解决了,原因是:
    Oracle服务器端装的是8i,而我的客户端是8.0.5。我用的classes111.jar文件就是8.0.5的,换成8i的文件后问题就解决了。
    不过也很感谢大家,你们的建议帮助我从许多方面考虑这个问题。来者有分!天天开心!!!!