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

Collegamento di Gene a SQL Server

Genero fornisce un driver di database da utilizzare con il driver ODBC per SQL Server di Easysoft, che consente di creare programmi Genero che utilizzano SQL Server come back-end.

  1. Scarica il driver ODBC di SQL Server per Linux a 64 bit. (Registrazione richiesta.)
  2. Installare e concedere in licenza il driver ODBC di SQL Server sul computer in cui Genero è o sarà installato.

    Per le istruzioni di installazione, vedere la documentazione del driver ODBC.

    Nota Hai bisogno di unixODBC Driver Manager installato sul tuo computer. La distribuzione Easysoft include una versione di unixODBC Driver Manager con cui è stato testato il driver ODBC di Easysoft SQL Server. Il programma di installazione del driver Easysoft ti dà la possibilità di installare unixODBC.

  3. Crea un'origine dati ODBC in /etc/odbc.ini che si connetta al database di SQL Server a cui desideri accedere da Genero. Ad esempio:
    [MSSQL-GENERO]
    Driver          = Easysoft ODBC-SQL Server
    Server          = my_machine\SQLEXPRESS
    User            = my_domain\my_user
    Password        = my_password
    # If the database you want to connect to is the default
    # for the SQL Server login, omit this attribute
    Database        = Northwind
    
  4. Usa isql per testare la nuova origine dati. Ad esempio:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v MSSQL-GENERO
    

    Al prompt, digita "help" per visualizzare un elenco di tabelle. Per uscire, premi Invio in una riga di prompt vuota.

    Se non riesci a connetterti, fai riferimento a questo articolo e alla Knowledge Base del driver ODBC di SQL Server per assistenza.

  5. Se non l'hai già fatto, installa Genero su questa macchina.

    Nota Uno dei nostri clienti ci ha segnalato che se desideri utilizzare Genero con SQL Server 2016, devi utilizzare Genero 3.00.10 o versioni successive.

    Durante l'installazione, viene richiesto di scegliere il database predefinito per fglrun. Se desideri SQL Server 2014 o versioni precedenti come database predefinito, scegli l'opzione [7] quando richiesto. Se desideri utilizzare SQL Server 2016 o versioni successive, scegli [6] . Se non si desidera utilizzare SQL Server come database predefinito, scegliere un altro database. È possibile impostare il database in base all'applicazione specificando il driver del database da utilizzare nel codice sorgente Genero.
  6. Crea un programma Genero che recuperi alcuni dati di SQL Server:
    $ more connect.4gl
    MAIN
      DEFINE varchar_col VARCHAR(100)
      # You can omit +driver... if you dbmesm_1 is the default driver in FGLPROFILE.
      CONNECT TO "MSSQL-GENERO+driver='dbmesm_1'"
      DECLARE xx CURSOR FOR SELECT * FROM MyVarcharTable
      FOREACH xx INTO varchar_col
        DISPLAY varchar_col CLIPPED
      END FOREACH
    END MAIN
    
  7. Imposta l'ambiente in modo che Genero possa caricare il driver ODBC di SQL Server:
    export LD_LIBRARY_PATH=/usr/local/easysoft/sqlserver/lib
    

    Se non è stato installato il driver Easysoft in /usr/local, modificare il percorso di conseguenza.

  8. Compila ed esegui il tuo programma:
    $ cd /opt/fourjs/gep/fgl/bin/
    $ ./fglcomp connect.4gl
    $ ./fglrun connect.42m
    Value1
    Value2
    
  9. Se hai problemi con l'esecuzione del programma, prova a impostare FGLSQLDEBUG:
    $ export FGLSQLDEBUG=3
    $ ./fglrun connect.42m
    SQL: CONNECT
     | 4gl source      : connect.4gl line=3
     | loading driver  : [/opt/fourjs/gep/fgl/dbdrivers/dbmesm_1]
     | Dynamic linker error: [libessqlsrv.so: cannot open shared object file: No such file or directory]...
     | loading driver  : [/opt/fourjs/gep/fgl/dbdrivers/dbmesm_1]
     | Dynamic linker error: [libessqlsrv.so: cannot open shared object file: No such file or directory]...
    Program stopped at 'connect.4gl', line number 3.
    SQL statement error number -6366 (0).
    Could not load database driver dbmesm_1. Set FGLSQLDEBUG to get more details.
    $ export LD_LIBRARY_PATH=/usr/local/easysoft/sqlserver/lib
    $ unset FGLSQLDEBUG
    $ ./fglrun connect.42m
    Value1
    Value2