2015-06-01 249 views
-1

我的要求是檢查我們是否可以連接到沒有通過java程序定義的模式的數據庫並創建數據庫。 這工作正常使用JDBC連接到數據庫URL

Connection connection = 
      DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/db2inst1","vmadmin","[email protected];"); 

數據庫:DB2 模式:DB2INST1

Connection connection = 
      DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/","vmadmin","[email protected];"); 

失敗 爲什麼?

com.ibm.db2.jcc.am.mo: [jcc][10165][10045][4.7.85] Invalid database URL syntax: jdbc:db2://wcspocca-db.cloudapp.net:50001/. ERRORCODE=-4461, SQLSTATE=42815 
+0

所以DBName是強制性的。謝謝。 – shiva

+0

我們可以實現通過下面的java程序 1.連接到安裝在主機上的遠程數據庫DB2 2.對數據庫DB2 3.執行一些表的創建創建一個數據庫模式「PROD」 SQLS 機1: wcspocca-db.cloudapp.net。 (db2安裝時沒有創建任何數據庫模式) 機器2 :(運行java程序,連接數據庫安裝在上面的遠程機器上運行一些sqls) – shiva

回答

0

因爲在第二個例子中沒有指定數據庫。您可以在DB2 JDBC documentation中找到要求:

>>-+-jdbc:db2:------+--//--server--+---------+--/--database-----> 
    +-jdbc:db2j:net:-+    '-:--port-' 
    '-jdbc:ids:------' 

>--+---------------------------+-------------------------------\>< 
    '-:--| connection-options |-' 

數據庫參數不是可選的。

0

如何我通常使用java的是像下面連接到數據庫:間距出來,讓您閱讀以下

//Wide Scope Variables 
static Connection conn = null; //right now this connection is off 
static String dbURL = "database url"; //I use SQL developer and your able to grab the connection url there 

static String user = "This can be empty and ask user for input of hard code the user name"; 

static String pass = "same as above"; 

文本在該方法中要檢查驅動程序和連接我通常不喜歡這樣

//Register the Driver 
    try 
    { 
     Class.forName("oracle.jdbc.driver.OracleDriver"); 
    } 
    catch(ClassNotFoundException e) 
    { 
     System.err.println(e.getMessage()); 
    } 

    //Set up connection 
    try 
    { 
     conn = DriverManager.getConnection(dbURL,user,password); 
     conn.clearWarnings(); 
     stmt = conn.createStatement(); 
    } 
    catch(SQLException e) 
    { 
     System.err.println(e.getMessage()); 
    } 

第一嘗試捕捉代碼註冊驅動程序的SQL開發人員則第二嘗試捕捉設置與數據庫的連接。這幫助我節省了很多頭痛,並且我發現它是使用java時最直接的路線。

0

仔細檢查網址後端口號,如果你沒有把你想連接的數據庫名稱,然後它將如何連接。它就像你正在給一個家庭地址,沒有小區號碼。

相關問題