2010-07-05 112 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(); 
相关问题