簡體   English   中英

無法使用JDBC與Progress數據庫建立連接

[英]Not able to establish connection with Progress Database using JDBC

我收到以下異常:-

java.sql.SQLException: [DataDirect][OpenEdge JDBC Driver][OpenEdge] Access denied(Authorisation failed)
    at com.ddtek.jdbc.openedge.client.ddd.aw(Unknown Source)
    at com.ddtek.jdbc.openedge.client.ddd.j(Unknown Source)
    at com.ddtek.jdbc.openedge.OpenEdgeImplConnection.j(Unknown Source)
    at com.ddtek.jdbc.openedgebase.BaseConnection.b(Unknown Source)
    at com.ddtek.jdbc.openedgebase.BaseConnection.k(Unknown Source)
    at com.ddtek.jdbc.openedgebase.BaseConnection.b(Unknown Source)
    at com.ddtek.jdbc.openedgebase.BaseConnection.a(Unknown Source)
    at com.ddtek.jdbc.openedgebase.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.ncr.sj250216.JdbcTest.main(JdbcTest.java:18)

我的代碼中沒有編譯時錯誤,我使用了正確的jars作為引用庫。

      package com.ncr.sj250216;
      import java.sql.*;
      public class JdbcTest 
      {
          public static String       
 URL="jdbc:datadirect:openedge://sun3899.daytonoh.ncr.com:28409;DatabaseName=dispatch";
    public static String username="CSMSRUP";
    public static String password=null;
    public static void main(String [] args)
    {

     try
      {

       Class.forName ("com.ddtek.jdbc.openedge.OpenEdgeDriver");
       System.out.println("Driver loaded");
       Connection conn = DriverManager.getConnection(URL,username,password);
       System.out.println("Connected");
       Statement stmt = conn.createStatement();
       System.out.println("Statement created");
       ResultSet rs = stmt.executeQuery("select remark from pub.dupdate_remarks");
       System.out.println("ResultSet : \n");
       while (rs.next())
       {
        System.out.println(rs.getString(1));
        }
       System.out.println("AFTER CRUISING THROUGH THE RESULT SET");
       rs.close();
       stmt.close();
       conn.close();
      }
      catch (Exception x) 
      {
          x.printStackTrace();
      }
     }
}

Access denied並且Authorization failed意味着您使用錯誤的用戶名和密碼,或者嘗試連接到錯誤的數據庫。

如果您有權訪問運行數據庫的服務器,則可以使用Progress的sqlexp命令行工具測試憑據:

sqlexp -user userName -password passWord -db dnName -S servicePort

或者,您可以使用任何流行的基於Windows的SQL查詢工具來嘗試連接...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM