2010-07-05 4 views
1

Я пытаюсь получить соединение в следующем коде, и я продолжаю получать SQLException с сообщением «Ошибка входа» и с подробной информацией «Указанная база данных не найдена».Получение соединения с DBCP через драйвер JDBC Sybase Jconnect

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

+0

Я могу получить доступ к db с этим именем пользователя и паролем через dbisqlc. –

ответ

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(); 
Смежные вопросы