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

Tilslutning af Genero til SQL Server

Genero leverer en databasedriver til brug med Easysofts SQL Server ODBC-driver, og denne giver dig mulighed for at oprette Genero-programmer, der bruger SQL Server som deres backend.

  1. Download SQL Server ODBC-driveren til 64-bit Linux. (Registrering påkrævet.)
  2. Installer og licenser SQL Server ODBC-driveren på den maskine, hvor Genero er eller vil blive installeret.

    Se ODBC-driverdokumentationen for installationsinstruktioner.

    Bemærk Du skal have unixODBC Driver Manager installeret på din maskine. Easysoft-distributionen inkluderer en version af unixODBC Driver Manager, som Easysoft SQL Server ODBC-driveren er blevet testet med. Easysoft-driveropsætningsprogrammet giver dig mulighed for at installere unixODBC.

  3. Opret en ODBC-datakilde i /etc/odbc.ini, der forbinder til den SQL Server-database, du vil have adgang til fra Genero. For eksempel:
    [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. Brug isql til at teste den nye datakilde. For eksempel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v MSSQL-GENERO
    

    Ved prompten skal du skrive "hjælp" for at få vist en liste over tabeller. For at afslutte skal du trykke på retur i en tom promptlinje.

    Hvis du ikke kan oprette forbindelse, skal du se denne artikel og SQL Server ODBC Driver Knowledge Base for at få hjælp.

  5. Hvis du ikke allerede har gjort det, skal du installere Genero på denne maskine.

    Bemærk En af vores kunder har rapporteret til os, at hvis du vil bruge Genero med SQL Server 2016, skal du bruge Genero 3.00.10 eller nyere.

    Under opsætningen bliver du bedt om at vælge standarddatabasen for fglrun. Hvis du vil have SQL Server 2014 eller tidligere som din standarddatabase, skal du vælge indstillingen [7] når du bliver bedt om det. Hvis du vil bruge SQL Server 2016 eller nyere, skal du vælge [6] . Hvis du ikke ønsker at bruge SQL Server som standarddatabase, skal du vælge en anden database. Du kan indstille databasen pr. applikation ved at angive den databasedriver, der skal bruges i din Genero-kildekode.
  6. Opret et Genero-program, der henter nogle SQL Server-data:
    $ 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. Indstil miljøet, så Genero kan indlæse SQL Server ODBC-driveren:
    export LD_LIBRARY_PATH=/usr/local/easysoft/sqlserver/lib
    

    Hvis du ikke installerede Easysoft-driveren under /usr/local, skal du ændre stien i overensstemmelse hermed.

  8. Kompiler og kør dit program:
    $ cd /opt/fourjs/gep/fgl/bin/
    $ ./fglcomp connect.4gl
    $ ./fglrun connect.42m
    Value1
    Value2
    
  9. Hvis du har problemer med at køre programmet, så prøv at indstille 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
    

  1. Kald til en medlemsfunktion execute() på boolean in

  2. Top nyttige AWR-forespørgsler til R12.2/R12.1-opgradering

  3. SQL-serverydelse — test i skyen

  4. Generering af rækkefølge i rækkefølge