2016-09-23 99 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」