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

Connessione a 4D da Java

Prima di poter connettere l'applicazione Java a 4D utilizzando il bridge JDBC-ODBC, è necessario configurare un'origine dati del driver 4D ODBC. Un'origine dati ODBC memorizza i dettagli di connessione per il database di destinazione (ad es. 4D) e il driver ODBC necessario per connettersi ad esso (ad es. il driver ODBC 4D).

  1. Avvia amministratore ODBC. A tale scopo, nella finestra di dialogo Esegui di Windows, digitare:
    %windir%\syswow64\odbcad32.exe
  2. Nell'Amministratore ODBC, scegli la scheda DSN di sistema, quindi scegli Aggiungi.
  3. Nella finestra di dialogo Crea nuova origine dati, scegli il driver 4D ODBC, quindi scegli Fine.
  4. Completa la finestra di dialogo di configurazione del driver 4D ODBC.
  5. Scarica Easysoft JDBC-ODBC Bridge. (Registrazione richiesta.)
  6. Installare e concedere in licenza Easysoft JDBC-ODBC Bridge sulla macchina in cui è stata creata l'origine dati.

    Per le istruzioni di installazione, vedere la documentazione Easysoft JDBC-ODBC Bridge.

Connessione a 4D da Java

  1. Copia EJOB.jar su una macchina in cui è installato Java Development Kit.

    Se Easysoft JDBC-ODBC Bridge è già installato su questa macchina, saltare questo passaggio.

    EJOB.jar è installato nel seguente percorso sulla macchina in cui si installa Easysoft JDBC-ODBC Bridge:

    <easysoft_install>\Jars

    Il percorso predefinito per è <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge .

  2. Aggiungi questo codice Java a un file denominato ConnectTo4D.java:
    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. In una finestra di comando, aggiungi EJOB.jar al percorso classe Java. Ad esempio:
    set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
  4. cd nella directory in cui si trova ConnectTo4D.java e compilare ed eseguire il file Java. Ad esempio:
    "C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectTo4D.java
    java ConnectTo4D