問題タブ [firebird-embedded]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .Net クライアントで組み込みの Firebird データベース サーバーにアクセスできない
.Net クライアントで組み込みの Firebird データベース サーバーにアクセスできない
Embedded Firebird サーバーを使用するプログラムの開発を目指していますが、.Net クライアントを使用して接続しようとするとエラーが発生します。複数のスレッドからのアドバイスに従って動作させましたが、わかりません。接続文字列とファイルを変更しようとしましたが、同じエラーが発生し続けます。
これが私の研究と私がこれまでに試したすべての詳細な説明です。
Visual C# 2010 で Firebird db 組み込みサーバーに接続して使用する方法
リンクで指定されたファイルをダウンロードし、手順に従ってコードを実行したところ、元のポスターと同じエラー メッセージが表示されました。
FirebirdSql.Data.FirebirdClient.FbException Message=ホスト "127.0.0.1" へのネットワーク リクエストを完了できません。
IP の代わりに「localhost」を使用すると、同じエラーが発生します。
受け入れられた答えは、すべての .dll ファイルと構成ファイルがプロジェクト ファイル (コードのあるディレクトリ) と出力ディレクトリ (bin/debug) にコピーされていることを確認することです。zip フォルダー内のすべてのファイルをコピーしました。さらに、@Robin Van Persi は「コンパクトな .Net データ プロバイダー」を使用しないと述べていますが、これを使用しているかどうかはどうすればわかりますか? 質問のリンクからファイルをダウンロードしました。
@PlageMan によって提供された別の回答は、ServerType=1; を追加することです。接続文字列に追加し、これらのエラーを生成する DataSource および Port 属性を削除します。
System.NotSupportedException Message=指定されたサーバーの種類が正しくありません。
System.ArgumentException Message=無効な接続文字列引数が指定されたか、必要な接続文字列引数が指定されていません。
@Toastgeraetによる最後の回答は、fbembed.dllの名前をfbclient.dllまたはgds32.dllに変更することを追加しています。3つの方法すべてを試しましたが、変化はありません。実際、 http://www.firebirdsql.org/en/firebird-net-provider-faq/には fbembded.dll と書かれていますが、それも機能しませんでした。
firebird組み込みデータベースを使用しているときにc#で接続エラーを解決する方法は?
元のポスターでも機能しなかった fbembed.dll の名前を fbclient.dll に変更することについて、同じアドバイスがあります。接続文字列で受け入れられた回答 ServerType=1 ですが、@cincura.net の回答の下のコメントにより、調査する新しい可能性が得られました。プロセッサ アーキテクチャ。残念ながら、64bt バージョンと 32 ビット バージョンを切り替えても違いはありませんでした。
Visual Studios Express を使用しているので、32bit 版に切り替えることが解決策だったのではないかと思いました。
-
このスレッドの最後のコメントは、32 ビットに変更しても問題が解決しなかったと言っている別の人です。
firebird 組み込みサーバーを使用しようとしています - 指定されたサーバーの種類が正しくありません
ServerType を 1 と 0 として見て、この投稿を見つけたので、ServerType に関する情報を検索することに戻りました。@Nigelの答えは、.Netプロバイダーの最新バージョンに更新することです。残念ながら、Firebird Web サイトの最新バージョン (4.5.1.0) を使用する方法がわかりません。これは、サンプルから FirebirdSql 名前空間が欠落しているためです。さらに、Visual Studio では、.Net をインポートするときに、間違ったバージョンの .Net がターゲットになっているという警告が表示されます。
私は何を間違っていますか?別の接続文字列または新しいバージョンの Firebird/.Net プロバイダーを使用する必要がありますか? 他に何か不足していますか?
この質問は重複と見なされる可能性があることを認識していますが、これまでに見つけた回答のどれも私の問題を解決していません. さらに、私が上で引用した以前の StackOverflow Q/A はすべて何年も前のものなので、誰かが共有する新しい情報を持っていることを願っています.
c# - ASP.NET 5 で Firebird 組み込みデータベースを実行するには?
MVC 6 アプリケーションから firebird 組み込みデータベースを実行しようとしています。Fluent Nhibernate を使用しています。構成を以下に示します。
ナゲットパッケージもインストールしましたFirebirdSql.Data.FirebirdClient
しかし、私はエラーが発生しています:
Unable to load DLL 'fbembed': The specified module could not be found.
この dll を参照に含めようとしていますが、この参照を復元できないというビルド エラーが発生します。
これを実行するにはどうすればよいですか?
PS : 私も同様の状況/エラーのために SQLite を使用できませんでした。
c# - データベースファイルを解放するには?(NHibernate および組み込みの Firebird データベース)
Nhibernate を使用して、ローカルの firebird データベース ファイルに接続しています。現在は埋め込んでロードしていますが、ディスク上のファイルを移動または削除できるように、場合によってはリリースする必要があります。nhibernate で sessionfactory を閉じて破棄するだけでは機能しません。ファイルはまだ使用中です。
これは可能ですか、それとも別のプロセスを開始する必要がありますか?
.net - firebird エンティティ フレームワーク プロバイダーを使用するように .Net アプリケーションをセットアップする方法 (組み込みデータベース用)
私は、.Netアプリケーションで運がなくても、firebirdデータベース(組み込みバージョン)のエンティティフレームワーク6.0プロバイダーをセットアップする方法に関するドキュメントを見つけようとしています。
私が見つけたドキュメントのほとんどは ADO.Net プロバイダーに関するものでしたが、具体的にはエンティティ フレームワークのものを探しています。
1) app.config を使用して firebird EF6 プロバイダーをセットアップする方法 2) オプションとして、新しい EF6 コード セットアップを使用してセットアップする方法 (DbConfiguration クラスをオーバーライドすることにより): firebird EF6 プロバイダー。
プロバイダーへのリンクはこちら: http://www.firebirdsql.org/en/additional-downloads/
そして、.net に関する Web サイトで見つけたドキュメント (ただし、ADO のみで、エンティティ フレームワーク DLL については何もありません)。 http://www.firebirdsql.org/en/net-examples-of-use/
私が知っている唯一のことは、組み込みデータベースの場合、ServerType は 1 でなければならないということです
database - 組み込みの dll を介して、複数のアプリケーションから 1 つの Firebird データベースに接続する
私はデータベースプログラミングに比較的慣れていません。IBPPでfirebird 2.5を使用しています。サンプルの firebird データベースを使用するアプリケーションが少なくとも 2 つあります。埋め込まれた亜種 (fbembedded.dll、icudt30.dll、icuc30.dll) と接続したいのは、それが顧客の PC 上のホスト アプリケーションになるからです。データベースからデータを読み取る簡単なテスト アプリケーションを作成し、このアプリケーションを同時に 3 回起動しました。すべてが機能しました。
しかし、これが常に機能するかどうか、およびデータが破損する危険なしに安定して機能するかどうかはわかりません。ビューア ibexpert を使用してデータベースに接続すると、テスト アプリケーションがデータベースに接続できないためです。さらに、ドキュメント sais ( firebirdEmbedded ):
複数の埋め込みサーバーを同時に実行することができ、複数のアプリを同じ埋め込みサーバーに接続することができます。通常のサーバーがすでに稼働していることも問題ではありません。 ただし、組み込みサーバーは、接続が成功した後、独自の排他的使用のためにデータベース ファイルをロックします。これは、複数の埋め込みサーバー プロセスから同時に (または、埋め込みサーバーがファイルをロックすると、他のサーバーから) 同じデータベースにアクセスできないことを意味します。
ドキュメントは正しいですか?私のサンプル アプリケーションは反対のことを示しているようです。しばらく前に PC に firebird スーパーサーバーをインストールしましたが、これをテストする前にアンインストールしました。
firebird2.5 - Firebird Embedded Server は複数のプロセスの同時実行を提供しますか?
Firebird データベースにはいくつかの種類があります。その 1 つが Windows Embedded サーバーです。
複数のスレッドを実行するアプリケーションに組み込みたいと考えています。各スレッドはサーバーに同時にアクセスできます
誰もそれを使用した経験がありますか?Firebird Embedded Server は複数のプロセスの同時実行を提供しますか?
linux - サービスを実行せずに IBPP を使用して Linux に組み込まれた firebird を使用するにはどうすればよいですか?
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統合が私のために他の誰かをしているので、実際にテストできないことです)。