Database
 sql >> Base de données >  >> RDS >> Database

Connexion à 4D depuis Java

Avant de pouvoir connecter votre application Java à 4D en utilisant le pont JDBC-ODBC, vous devez configurer une source de données du pilote ODBC 4D. Une source de données ODBC stocke les détails de connexion à la base de données cible (par exemple 4D) et le pilote ODBC nécessaire pour s'y connecter (par exemple le pilote ODBC 4D).

  1. Démarrez l'administrateur ODBC. Pour ce faire, dans la boîte de dialogue Exécuter de Windows, saisissez :
    %windir%\syswow64\odbcad32.exe
  2. Dans l'administrateur ODBC, choisissez l'onglet DSN système, puis choisissez Ajouter.
  3. Dans la boîte de dialogue Créer une nouvelle source de données, choisissez le pilote ODBC 4D, puis choisissez Terminer.
  4. Renseignez la boîte de dialogue de configuration du pilote ODBC 4D.
  5. Téléchargez le pont Easysoft JDBC-ODBC. (Inscription requise.)
  6. Installez et autorisez Easysoft JDBC-ODBC Bridge sur la machine sur laquelle vous avez créé la source de données.

    Pour obtenir des instructions d'installation, consultez la documentation Easysoft JDBC-ODBC Bridge.

Se connecter à 4D depuis Java

  1. Copiez EJOB.jar sur une machine sur laquelle un kit de développement Java est installé.

    Si le pont Easysoft JDBC-ODBC est déjà installé sur cette machine, ignorez cette étape.

    EJOB.jar est installé à l'emplacement suivant sur la machine sur laquelle vous installez le pont Easysoft JDBC-ODBC :

    <easysoft_install>\Jars

    L'emplacement par défaut pour est <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge .

  2. Ajoutez ce code Java à un fichier nommé 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. Dans une fenêtre de commande, ajoutez EJOB.jar au chemin de classe Java. Par exemple :
    set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
  4. cd dans le répertoire où se trouve ConnectTo4D.java, puis compilez et exécutez le fichier Java. Par exemple :
    "C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectTo4D.java
    java ConnectTo4D