Получение соединения с DBCP через драйвер JDBC Sybase Jconnect - PullRequest
1 голос
/ 06 июля 2010

Я пытаюсь получить соединение в следующем коде, и я получаю исключение SQLException с сообщением «Ошибка входа в систему» ​​и подробностями «Указанная база данных не найдена».

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-адресе указано просто «Соединение отказано».

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 23 апреля 2013

Вы можете использовать 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();
0 голосов
/ 17 января 2011

Я думаю, что URL должен быть jdbc: sybase: Tds: 127.0.0.1: 2638? ServiceName = dbName (возможно, это чувствительно к регистру)

http://www.razorsql.com/docs/help_sybase.html

...