問題タブ [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# - Mono と Firebird Embedded を Linux で動作させる
私は最近、自分のプロジェクトで SQLite を置き換えることができる製品として、Firebird Embedded を検討していました。問題は、アプリケーションの同じコンパイルを Windows と Linux の両方で使用できるようにしたいのですが、残念ながら SQLite では不可能です。
それでも、Mono を使用して Linux で Firebird を実行することはできません (Windows はまだ試していません)。
私がやったこと:
Firebird ADO.NET Provider
NuGet からインストールされます。- Windows ライブラリ用の 32 ビット組み込みクライアントをダウンロードし、binディレクトリに展開しまし
fbembed.dll
た: 、、、、、、、。firebird.cfg
firebird.msg
ib_util.dll
icudt30.dll
icuin30.dll
icuuc30.dll
次を使用して接続文字列を作成しました。
/li>それでも、
fbembed.dll
パスに見つからないというエラーが表示されます。
私は何をすべきか?
c# - Firebird を Entity Framework Code First と Migrations で動作させる
packagemanager で enable-migrations と入力すると、このエラーが発生します。
不変名 'FirebirdSql.Data.FirebirdClient' を持つ ADO.NET プロバイダーの Entity Framework プロバイダーが見つかりません。プロバイダーがアプリケーション構成ファイルの「entityFramework」セクションに登録されていることを確認してください。詳細については 、http: //go.microsoft.com/fwlink/?LinkId=260882を参照してください。
これは私がこれまで行ったことです:
- http://www.firebirdsql.org/en/firebird-2-5-2-upd1/から 32 ビット組み込みの firebird をダウンロードしました 。
- dll を私のソリューションに抽出しました: http://d.pr/i/Hsgv
- FirebirdSql.Data.FirebirdClient への参照を追加しました: http://d.pr/i/7SiO
この DataContext クラスを作成しました。
これはコンソール アプリケーションであるため、プロバイダーを追加するための app.config ファイルがなく、データベースが実際には存在しないことに注意してください。
delphi - FireDAC を使用して組み込みの Firebird 2.5 に接続する
何をしても、FireDAC を使用して Firebird 2.5 組み込みデータベースに接続できないようです。面白いのは、昨日はうまくいったように見えたのに、突然うまくいかなくなったということです。
なぜ突然機能しなくなったのか頭をかきむしるよりも、何が起こっているのかを段階的に把握できるように、クリーンなプロジェクトの再構築を開始しました。もちろん、Firebird からダウンロードしたパッケージの内容全体をアプリケーション ディレクトリとデータベース自体に追加 (コピー) しました。
フォルダーの問題を回避するために、すべてのファイル (および exe) を同じディレクトリに配置するように Delphi 環境オプションを設定しました。次に、Firebird の *.doc フォルダーにある提案を使用して、fbembed.dll の名前を fbclient.dll に変更しました。(この問題に関するいくつかの FireDAC Q&A で、Firedac には fbembed.dll ファイルが必要であると読みました。まあ、両方の方法を試しましたが、いずれにしても機能しません)。しかし、fbclient.dll の最初の問題に固執させてください。
接続を確立するために、データモジュールに FDPhysFBDriverLink1 と FDConnection1 をドロップしました。
今度は FDPhysFBDriverLink1: BaseDriverID は FB です。DriverID については、両方の提案を試しました。最初に 'FB' を使用し、次に fbclient.dll へのフル パスを指定します。どれも違いを生むようには見えません。
Firedac 接続エディタにアクセスしてデータベース ファイルへのパスを入力すると、「ベンダー ライブラリ (fbclient.dll または fbembed.dll) を読み込めません」というエラーが表示されます。ただし、これらのファイルは両方ともアプリケーションの exe フォルダーにあります (Embarcadero サイトで提案されているように)。では、FireDAC はどこでファイルを探しているのでしょうか? Firebird と FireDAC には、接続を成功させるために何をしなければならないかを簡単に説明できないので、少しうんざりしています。彼らが提供するのは、どれも機能しないいくつかのあいまいなオプションだけです。これを追加して、最後に失敗します。
したがって、誰かが簡単な回答でこれを行う方法について経験がある場合(リンクはありません。すべてを見て試してみました)、とても感謝しています。簡単な接続を確立するために何日も試みるのは、本当にばかげています。同様の結果でUniDACでも試しました。接続を完了するにはどうすればよいですか?
delphi - Firebird - フィールド ID には値が必要です
私の Firebird フィールド (ID) は、autoinc フィールドのように機能します (ジェネレーターと機会のためのトリガーがあります)。Firebird Maestro を使用し、autoinc フィールド関数を手動で挿入すると、問題ありません (テーブルを更新するだけで済みます)。ただし、Delphi 側 (FireDac を使用) では別の問題があります。挿入しようとするとすぐに、「フィールド 'ID' には値が必要です」という警告メッセージが表示されます。何が起こっている?これを修正する方法はありますか?
編集: 写真でわかるように、フィールドは追加されますが、テーブルは挿入モードのままで、エラーが表示されます!
Edit2: ID が値を持っているという要件をオフにしましたが、それでもエラーは解決しません (メモリに残らないように、念のため接続をオンまたはオフにしました)