无法使用JDBC驱动程序访问数据库

问题描述

我正在尝试编译需要访问SyBase的程序,

我使用“ jconn4.jar”作为驱动程序,我的连接字符串如下:

conn = DriverManager.getConnection("jdbc:sybase:Tds://Server:Port","User","Password");
            System.out.println(conn);
        } catch (sqlException e) {
            System.err.println(e);
        }

所以我明白了:

java.sql.sqlException:JZ0D5:加载协议com.sybase.jdbc4.server = xxx; uid = xxx; pwd = xxx; port = xxx; eng = xxx; database = contabil; links = tcpip(port = xxx)。服务器= // xxx; uid = xxx; pwd = xxx;端口= xxx; eng = xxx;数据库= xxx;链接= tcpip(端口= xxx)。 线程“主”中的异常java.lang.NullPointerException 在teste.DBproxyConnectionImple.getEmpresasAtivas(DBproxyConnectionImple.java:420) 在teste.APIdatabase.main(APIdatabase.java:29)

我不知道该错误是来自驱动程序还是来自服务器。 即使使用正确的驱动程序,我也不知道。

完整代码

public class APIdatabase {

public static void main(String[] args) {
    System.out.println("API iniciada em: " + new java.util.Date());
    JOptionPane.showMessageDialog(null,"execução iniciada");
    DBproxyConnection dbup = new DBproxyConnectionImple();
    firebaseDBConnect firebaseDB = new firebaseDBConnectImpl();
    Connection conn = dbup.connect();
    ResultSet r = dbup.getActiveEnterprises();

public ResultSet getActiveEnterprises() {
    ResultSet rs = null;
    try {
        //Cria um statement
        Statement stmt = this.conn.createStatement();

        rs = stmt.executeQuery("SELECT * FROM (...));
    } catch (sqlException e) {
        System.err.println(e);
    }

    return rs;
}

public DBproxyConnectionImple() {
    this.server = "//xxxx";
    this.port = "xxx";
    this.db = "xxx";
    this.eng = "xxx";
    this.user = "xxx";
    this.password = "xxx";
    this.dbDriver = "jdbc:sybase:";
}

/**
 *
 * @param server
 * @param port
 * @param db
 * @param eng
 * @param user
 * @param password
 * @param dbDriver
 * @return
 */

@Override
public Connection connect(String server,String port,String db,String eng,String user,String password,String dbDriver) {
    Connection conn = null;
    try {
        //Cria uma conexão
        //conn = DriverManager.getConnection(dbDriver
        //        + "Server=" + server
        //        + ";uid=" + user
        //        + ";pwd=" + password
        //        + ";port=" + port
        //        + ";eng=" + eng
        //        + ";database=" + db
        //        + ";links=xxx:xxx");
        
        conn = DriverManager.getConnection("jdbc:sybase:Tds://xxx:xxx","xxx","xxx");
        System.out.println(conn);
    } catch (sqlException e) {
        System.err.println(e);
    }

    return conn;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)