sql >> Base de Datos >  >> RDS >> Database

Conexión a Sage desde Java

Antes de poder conectar su aplicación Java a Sage mediante el puente JDBC-ODBC, debe configurar una fuente de datos del controlador ODBC de Sage. Una fuente de datos ODBC almacena los detalles de conexión para la base de datos de destino (p. ej., Sage) y el controlador ODBC necesario para conectarse (p. ej., el controlador ODBC de Sage).

  1. Inicie el Administrador de ODBC. Para ello, en el cuadro de diálogo Ejecutar de Windows, escriba:
    %windir%\syswow64\odbcad32.exe
  2. En el Administrador de ODBC, elija la pestaña DSN del sistema y luego elija Agregar.
  3. En el cuadro de diálogo Crear nueva fuente de datos, seleccione Controlador ODBC de Sage y, a continuación, elija Finalizar.
  4. Complete el cuadro de diálogo de configuración del controlador ODBC de Sage.
  5. Descargue Easysoft JDBC-ODBC Bridge. (Es necesario registrarse).
  6. Instale y licencie Easysoft JDBC-ODBC Bridge en la máquina donde creó la fuente de datos.

    Para obtener instrucciones de instalación, consulte la documentación de Easysoft JDBC-ODBC Bridge.

Conexión a Sage desde Java

  1. Copie EJOB.jar en una máquina donde tenga instalado un kit de desarrollo de Java.

    Si Easysoft JDBC-ODBC Bridge ya está instalado en esta máquina, omita este paso.

    EJOB.jar está instalado en la siguiente ubicación en la máquina donde instala Easysoft JDBC-ODBC Bridge:

    <easysoft_install>\Jars

    La ubicación predeterminada para es <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge .

  2. Agregue este código Java a un archivo llamado ConnectToSage.java:
    import easysoft.sql.*;
    import java.sql.*;
    import java.util.Calendar;
    import java.util.Date;
    
    
    public class ConnectToSage {
    
      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/My32bitSageSystemDSN:logonuser=mywindowsuser:logonpassword=mywindowspassword";
          Connection con = DriverManager.getConnection(jobUrl, "mysageuser", "mysagepassword");
          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. En una ventana de comandos, agregue EJOB.jar a la ruta de clase de Java. Por ejemplo:
    set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
  4. cd al directorio donde se encuentra ConnectToSage.java, y compile y ejecute el archivo Java. Por ejemplo:
    "C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectToSage.java
    java ConnectToSage