IBPP を介して、firebird データベースをソフトウェアに統合しようとしています。火の鳥の文書によれば、これは可能であるはずです。
サービスの実行中に、IBPP を介して Firebird データベースを使用することができました。ただし、サービスを実行することは避けたいと思います。Windows では既にこれを実現していますが、Linux 側では主に 2 つの違いがあります。
インストール
Windows では、インストールを行う必要はありません。ドキュメントにあるように、Linuxでは次のようになります。
最後に、アプリケーションに libfbembed.so を同梱して、それを使用してローカル データベースに接続することはできません。Linux では、Classic であれ Super であれ、適切にインストールされたサーバーが常に必要です。
これは本当ですか?時々、firebird のドキュメントが古くなっていることがわかりました。これがまだ有効な場合、このインストールをどのように処理しますか? 顧客の PC で実行できますか。シェルスクリプトを見てみました。サービスを開始します。私にとっては、インストールプロセス中にこのサービスを実行する必要があるようです。とにかく、サービスがインストールのためだけに実行され、その後は必要ない場合は問題ありませんが、これについてはよくわかりません。
IBPP
Windows では、loadlibrary を介して DLL をロードするだけです。 any_directory を PATH 変数に追加しました。すべてが機能するようになりました。(余談: これを行うことで、IBPP を使用して作成した DLL を介してデータベースを呼び出すことができます。この DLL は、EXE が配置されているパスを気にせずに、顧客に提供するすべての EXE で使用できます)。
しかし、Linux では、これが行われているコードが見つかりませんでした。このHOWTOでは、特別なディレクトリ構造が必要なようです。これは本当に必要ですか?.so ファイルを any_directory に配置して、another_dirctory からアプリケーションを実行することは可能ですか? IBPP の Linux セクションに loadlibary を追加する必要はありますか? (ところで:私の問題は、Linux統合が私のために他の誰かをしているので、実際にテストできないことです)。