【问题标题】:Getting a Connection with DBCP via the Sybase Jconnect JDBC driver通过 Sybase Jconnect JDBC 驱动程序与 DBCP 建立连接
【发布时间】:2011-03-12 02:01:25
【问题描述】:

我正在尝试在以下代码中获取连接,但我不断收到 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 错误只是“连接被拒绝”消息,则似乎看到服务器很好,因为错误会发生变化。

有什么想法吗?

【问题讨论】:

  • 您可以使用 isql 使用该用户名和密码登录吗?
  • 我可以通过 dbisqlc 使用该用户名和密码访问数据库。
  • 我遇到了同样的问题。设置 CharacterEncoding 参数就可以了

标签: java jdbc sybase apache-commons-dbcp jconnect


【解决方案1】:

你可以使用 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();

【讨论】:

    【解决方案2】:

    我认为 URL 应该是 jdbc:sybase:Tds:127.0.0.1:2638?ServiceName=dbName(可能区分大小写)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      相关资源
      最近更新 更多