【问题标题】:Switching between data bases in Java在 Java 中的数据库之间切换
【发布时间】:2014-02-25 22:14:50
【问题描述】:

我想从 netezza 数据库中获取我的 java 代码中的一些数据,将其保存在内存中,然后切换到 oracle 数据库并运行一些分析。但是,当我尝试切换到下面的第二个数据库时,出现以下错误:

org.netezza.util.PSQLEexception: Invalid URL format

我做错了什么?我认为切换Class.forName 就足够了。 请注意 - 我可以单独设置 oracle 连接(当我不做 netezza 时)。但是当我尝试从 netezza 切换到 Oracle 时出现问题

Class.forName("org.netezza.Driver");

System.out.println(" Connecting ... ");

conn = DriverManager.getConnection(url, user, pwd);

System.out.println("Connected "+ conn);

PreparedStatement pstat = conn.prepareStatement("some query");

ResultSet rstru = pstat.executeQuery();

while(rstru.next()){
    //Do some thing
}
rstru.close();

if(conn != null) conn.close();

Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to Oracle");
conn = DriverManager.getConnection("some other url", "user2", "passwrd2"); 
System.out.println("Connected "+ conn);

pstat = conn.prepareStatement("second query");

rstru=pstat.executeQuery();

【问题讨论】:

  • 嗯...您的 URL 格式不正确。 Class.forName() 对 JDBC 驱动程序所做的所有事情就是注册它们。
  • 是的,但是当我现在尝试连接到 oracle 时,它​​给了我一个 netezza 异常。
  • 我不知道 netezza,但它似乎抛出异常而不是跳过它不理解的 URL。
  • 1. Class.forName() 是不必要的,并且已经使用了十年或更长时间。现在删掉就好了。 2.您遇到的错误是什么?
  • 我可以单独设置oracle连接(当我不做netezza的时候)。但是当我尝试从 netezza 切换到 Oracle 时,问题就出现了。

标签: java database jdbc database-connection


【解决方案1】:

好的,我终于让代码工作了。我所做的是定义了一组新的 ResultSet 和 Connection 变量(rstru2 和 conn2)。并将它们用于 Oracle 连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多