Database
 sql >> Datenbank >  >> RDS >> Database

Von Java aus mit 4D verbinden

Bevor Sie Ihre Java-Anwendung über die JDBC-ODBC Bridge mit 4D verbinden können, müssen Sie eine 4D ODBC Treiberdatenquelle konfigurieren. Eine ODBC-Datenquelle speichert die Verbindungsdetails zur Zieldatenbank (z. B. 4D) und den ODBC-Treiber, der für die Verbindung benötigt wird (z. B. den 4D ODBC-Treiber).

  1. Starten Sie den ODBC-Administrator. Geben Sie dazu im Windows-Dialogfeld „Ausführen“ Folgendes ein:
    %windir%\syswow64\odbcad32.exe
  2. Wählen Sie im ODBC-Administrator die Registerkarte System-DSN und dann Hinzufügen.
  3. Wählen Sie im Dialogfeld Neue Datenquelle erstellen den 4D ODBC Treiber und dann Fertig stellen.
  4. Vervollständigen Sie den Konfigurationsdialog des 4D ODBC Treibers.
  5. Laden Sie die Easysoft JDBC-ODBC Bridge herunter. (Anmeldung erforderlich.)
  6. Installieren und lizenzieren Sie Easysoft JDBC-ODBC Bridge auf dem Computer, auf dem Sie die Datenquelle erstellt haben.

    Installationsanweisungen finden Sie in der Easysoft JDBC-ODBC Bridge-Dokumentation.

Von Java zu 4D verbinden

  1. Kopieren Sie EJOB.jar auf einen Rechner, auf dem Sie ein Java Development Kit installiert haben.

    Wenn die Easysoft JDBC-ODBC Bridge bereits auf diesem Computer installiert ist, überspringen Sie diesen Schritt.

    EJOB.jar wird am folgenden Speicherort auf dem Computer installiert, auf dem Sie Easysoft JDBC-ODBC Bridge installieren:

    <easysoft_install>\Jars

    Der Standardspeicherort für ist <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge .

  2. Fügen Sie diesen Java-Code zu einer Datei namens ConnectTo4D.java hinzu:
    import easysoft.sql.*;
    import java.sql.*;
    import java.util.Calendar;
    import java.util.Date;
    
    
    public class ConnectTo4D {
    
      public static void main(String[] args) throws Exception {
    
            String[] szTableTypes;
            szTableTypes = new String[100];
    
            String[] szTableNames;
            szTableNames = new String[1000];
    
            int[]  szTypeCount;
            szTypeCount = new int[100];
    
            int intTableTypes;
    
        try {
    
          easysoft.sql.jobDriver driver = (easysoft.sql.jobDriver)Class.forName("easysoft.sql.jobDriver").newInstance();
    
          String jobUrl= "jdbc:easysoft://localhost/My4DSystemDSN:logonuser=mywindowsuser:logonpassword=mywindowspassword";
          Connection con = DriverManager.getConnection(jobUrl, "my4Duser", "my4Dpassword");
          System.out.println(" ");
          System.out.println("------------------ Method Summary ------------------");
          try {
              int i;
              boolean bl;
              String st;
    
              DatabaseMetaData dbMD = null;
              dbMD = con.getMetaData();
    
    
    //------------------------------------------------------------------------
              try {
                  ResultSet rt = dbMD.getTableTypes();
                  intTableTypes=0;
                  st="";
                  while (rt.next()) {
                      szTableTypes[intTableTypes]=rt.getString(1);
                      intTableTypes++;
                  }
                  for (i=0; i<intTableTypes; i++)
                  {
                      st=st + szTableTypes[i] + "; ";
                  }
                  System.out.println("Table types (" + intTableTypes + ") : "+ st );
    
                  // Go get the tables e.t.c.
    
                  try {
                      int x;
                      ResultSet rs = dbMD.getTables( null, null, "%", null );
                      while (rs.next()) {
                          for (x=0; x<intTableTypes; x++)
                          {
                              System.out.println("TABLE_CAT : " + rs.getString(1));
                              System.out.println("TABLE_SCHEM : " + rs.getString(2));
                              System.out.println("TABLE_NAME : " + rs.getString(3));
                              System.out.println("TABLE_TYPE : " + rs.getString(4));
                              System.out.println("REMARKS  : " + rs.getString(5));
     System.out.println("------------------------------------------------------");
                          }
                      }
                  } catch (Exception e) {
                      System.out.println("getTables error : " + e );
                  }
    
              } catch (Exception e) {
                  System.out.println("getTableTypes error : " + e );
              }
     //------------------------------------------------------------------------
          }  catch(Exception e) {
              System.out.println("db Meta Data exception: " + e);
              e.printStackTrace();
          }
        } catch(Exception e){
                System.out.println("Java code error : " + e);
        }
        }
    } 
  3. Fügen Sie in einem Befehlsfenster EJOB.jar zum Java-Klassenpfad hinzu. Beispiel:
    set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
  4. cd in das Verzeichnis, in dem sich ConnectTo4D.java befindet, und kompilieren und führen Sie die Java-Datei aus. Beispiel:
    "C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectTo4D.java
    java ConnectTo4D