2016-09-23 38 views
0

我试图连接到主/从配置中运行的SAP/Sybase IQ数据库。当我连接到主设备时,连接成功。但是,对于从属服务器,只有在将全权限管理权限(或Sybase服务器操作员权限)分配给正在使用的用户时才能进行连接;没有我得到“登录失败”错误。我确保用户名/密码是正确的,事实上,他们在主人身上运作良好。与主从配置失败的SAP/Sybase IQ的JDBC连接

我既没有连接主人的选项,也没有长期的全权管理权限。有什么我可以做的,让我的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 
    } 
} 
} 

回答

0

在db url中添加charset = eucgb将是唯一的问题。例如: “jdbc:sybase:Tds:host:port/dbname?charset = eucgb”