2010-07-05 108 views
1

我想在下面的代碼中獲取連接,並且不斷收到帶有「登錄失敗」消息和詳細信息「指定的數據庫未找到」的SQLException。通過Sybase Jconnect JDBC驅動程序獲得與DBCP的連接

Connection con = null;  
BasicDataSource dataSource = new BasicDataSource(); 
dataSource.setDriverClassName("com.sybase.jdbc.SybDriver"); 
dataSource.setUsername("username"); 
dataSource.setPassword("password"); 
dataSource.setDefaultAutoCommit(true); 
dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED); 
dataSource.setMaxActive(1); 
dataSource.setMaxIdle(1); 
dataSource.addConnectionProperty("databaseName", dbName); 
dataSource.addConnectionProperty("servicename", dbName); 
dataSource.setUrl("jdbc:sybase:Tds:127.0.0.1:2638"); 
con = dataSource.getConnection(); 

我也試過把dbName放在url中,並將它設置爲url中的一個屬性。

dataSource.setUrl("jdbc:sybase:Tds:127.0.0.1:2638/dbName"); 
dataSource.setUrl("jdbc:sybase:Tds:127.0.0.1:2638?SERVICENAME=dbName"); 

它都不起作用。它似乎正在看到服務器就好了,因爲如果URL是錯誤的只是「連接被拒絕」消息,錯誤會改變。

任何想法?

+0

您可以使用該用戶名和密碼使用isql登錄嗎? – Mark 2010-07-13 02:25:36

+0

我可以通過dbisqlc使用該用戶名和密碼訪問數據庫。 – 2010-07-16 18:28:27

回答

4

你可以使用SybDataSource,以下就足夠了? :

import com.sybase.jdbc4.jdbc.SybDataSource; 

SybDataSource dataSource = new SybDataSource(); 
dataSource.setUser("username"); 
dataSource.setPassword("password"); 
dataSource.setServerName("hostname"); 
dataSource.setPortNumber(5000); 
con = dataSource.getConnection(); 
相關問題