Generoは、EasysoftのSQL Server ODBCドライバーで使用するデータベースドライバーを提供します。これにより、SQLServerをバックエンドとして使用するGeneroプログラムを作成できます。
- 64ビットLinux用のSQLServerODBCドライバーをダウンロードします。 (登録が必要です。)
- Generoがインストールされている、またはインストールされる予定のマシンにSQLServerODBCドライバーをインストールしてライセンスを取得します。
インストール手順については、ODBCドライバーのドキュメントを参照してください。
注 マシンにunixODBCDriverManagerがインストールされている必要があります。 Easysoftディストリビューションには、Easysoft SQLServerODBCドライバーがテストされたバージョンのunixODBCドライバーマネージャーが含まれています。 Easysoftドライバセットアッププログラムには、unixODBCをインストールするオプションがあります。
- GeneroからアクセスするSQLServerデータベースに接続するODBCデータソースを/etc/odbc.iniに作成します。次に例を示します。
[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
- isqlを使用して新しいデータソースをテストします。例:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v MSSQL-GENERO
プロンプトで「help」と入力して、テーブルのリストを表示します。終了するには、空のプロンプト行でReturnキーを押します。
接続できない場合は、この記事とSQLServerODBCドライバーのナレッジベースを参照してください。
- まだ行っていない場合は、このマシンにGeneroをインストールします。
注 お客様の1人から、SQL Server 2016でGeneroを使用する場合は、Genero3.00.10以降を使用する必要があるとの報告がありました。
セットアップ中に、fglrunのデフォルトデータベースを選択するように求められます。 SQL Server 2014以前をデフォルトのデータベースとして使用する場合は、オプション[7]
を選択します。 プロンプトが表示されたら。 SQL Server 2016以降を使用する場合は、[6]
を選択します。 。 SQL Serverをデフォルトのデータベースとして使用したくない場合は、別のデータベースを選択してください。 Generoソースコードで使用するデータベースドライバを指定することにより、アプリケーションごとにデータベースを設定できます。 - SQLServerデータを取得するGeneroプログラムを作成します。
$ 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
- GeneroがSQLServerODBCドライバーをロードできるように環境を設定します。
export LD_LIBRARY_PATH=/usr/local/easysoft/sqlserver/lib
Easysoftドライバーを/usr/ localにインストールしなかった場合は、それに応じてパスを修正してください。
- プログラムをコンパイルして実行します:
$ cd /opt/fourjs/gep/fgl/bin/ $ ./fglcomp connect.4gl $ ./fglrun connect.42m Value1 Value2
- プログラムの実行で問題が発生した場合は、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