sql >> Databasteknik >  >> RDS >> Sqlserver

Ansluter Genero till SQL Server

Genero tillhandahåller en databasdrivrutin för användning med Easysofts SQL Server ODBC-drivrutin, och detta gör att du kan skapa Genero-program som använder SQL Server som backend.

  1. Ladda ner SQL Server ODBC-drivrutinen för 64-bitars Linux. (Registrering krävs.)
  2. Installera och licensiera SQL Server ODBC-drivrutinen på maskinen där Genero är eller kommer att installeras.

    För installationsinstruktioner, se dokumentationen för ODBC-drivrutinen.

    Obs Du behöver unixODBC Driver Manager installerad på din maskin. Easysoft-distributionen inkluderar en version av unixODBC Driver Manager som Easysoft SQL Server ODBC-drivrutinen har testats med. Easysofts drivrutinsinstallationsprogram ger dig möjlighet att installera unixODBC.

  3. Skapa en ODBC-datakälla i /etc/odbc.ini som ansluter till SQL Server-databasen du vill komma åt från Genero. Till exempel:
    [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. Använd isql för att testa den nya datakällan. Till exempel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v MSSQL-GENERO
    

    Vid prompten skriver du "hjälp" för att visa en lista med tabeller. För att avsluta, tryck på retur i en tom uppmaningsrad.

    Om du inte kan ansluta, se den här artikeln och SQL Server ODBC Driver Knowledge Base för hjälp.

  5. Om du inte redan har gjort det, installera Genero på den här maskinen.

    Obs En av våra kunder har rapporterat till oss att om du vill använda Genero med SQL Server 2016 måste du använda Genero 3.00.10 eller senare.

    Under installationen uppmanas du att välja standarddatabasen för fglrun. Om du vill ha SQL Server 2014 eller tidigare som din standarddatabas, välj alternativet [7] när du uppmanas. Om du vill använda SQL Server 2016 eller senare, välj [6] . Om du inte vill använda SQL Server som standarddatabas, välj en annan databas. Du kan ställa in databasen per applikation genom att ange vilken databasdrivrutin som ska användas i din Genero-källkod.
  6. Skapa ett Genero-program som hämtar vissa 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. Ställ in miljön så att Genero kan ladda SQL Server ODBC-drivrutinen:
    export LD_LIBRARY_PATH=/usr/local/easysoft/sqlserver/lib
    

    Om du inte installerade Easysoft-drivrutinen under /usr/local, ändra sökvägen därefter.

  8. Kompilera och kör ditt program:
    $ cd /opt/fourjs/gep/fgl/bin/
    $ ./fglcomp connect.4gl
    $ ./fglrun connect.42m
    Value1
    Value2
    
  9. Om du har några problem med att köra programmet, försök ställa in 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. Konvertera BufferedInputStream till bild

  2. ReadyCloud ReadyShipper X

  3. MySQL 1062 - Duplicera post '0' för nyckel 'PRIMÄR'

  4. Jag måste skicka kolumnnamn med variabel i select-satsen i Store Procedure men jag kan inte använda dynamisk fråga