【问题标题】:JDBC connection to SAP/Sybase IQ with master-slave configuration failing与主从配置失败的 SAP/Sybase IQ 的 JDBC 连接
【发布时间】:2016-09-23 10:09:50
【问题描述】:

我正在尝试连接到在主从配置中运行的 SAP/Sybase IQ 数据库。当我连接到主服务器时,连接成功。但是,对于从属服务器,只有在将完全管理员权限(或 Sybase 术语中的 SERVER OPERATOR)分配给我正在使用的用户时,我才能连接;没有那个我得到“登录失败”错误。我确保用户名/密码是正确的,事实上,它们在主服务器上运行良好。

我既没有连接到主服务器的选项,也无法长期获得完全管理员权限。有什么办法可以让我的 JDBC 代码在这个主从配置上与从属一起工作?下面是我的 Java JDBC 代码,相当标准。

import java.sql.*;

public class SybaseJDBCConnector {
   static final String JDBC_DRIVER = "com.sybase.jdbc4.jdbc.SybDriver";  
   static final String DB_URL = "jdbc:sybase:Tds:host:port/dbname";

   static final String USER = "username";
   static final String PASS = "password";

   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      Class.forName(JDBC_DRIVER);

      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);
      System.out.println("Successfully connected");
      conn.close();
   }catch(SQLException se){
      se.printStackTrace();
   }catch(Exception e){
      e.printStackTrace();
   }finally{
      // do something
   }
 }
}

【问题讨论】:

    标签: jdbc sap-iq


    【解决方案1】:

    在 db url 中添加 charset=eucgb 将解决问题。 例子: "jdbc:sybase:Tds:host:port/dbname?charset=eucgb"

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 2019-08-01
      • 2011-09-09
      相关资源
      最近更新 更多