既存の SQLite ファイルをデータベース ソースとして使用するために、FireDAC サンプル プロジェクトの 1 つを変更しようとしています。サンプルは変更しなくても問題なく動作し、データベースに接続します。ただし、接続先のデータベースを変更するために指定されている場所がわかりません。
ドキュメントによると、コンポーネントにはDatabase
プロパティが必要です。TFDPhysSQLiteDriverLink
ありません:存在しません。フォームをテキストに変換し、すべてのコンポーネントのカスタマイズされたプロパティを調べましたが、どこにもパスが定義されていません。コードにもありません。サンプルは非常に小さく、パスはまったく定義されていません。
ドキュメントのもう1つのオプションは、ユニットを含めることですがFireDAC.Phys.SQLite
、ユニットにはコンポーネントが含まれているだけなので、データベースの設定方法は説明されていません。そして、データベースのプロパティを検索すると (添付の画像を参照)、そのユニットのどのクラスのプロパティも、私が求めているものではないようです。最も近いのは、バックアップ コンポーネント用の文字列です。それが必要なのかは疑問です。SQLiteDatabase
クラスにはプロパティがありますが、TFDPhysSQLiteConnection
それは読み取り専用です。
FireDAC.Phys.SQLite ユニットで定義されているすべてのデータベース プロパティのリスト
また、コンポーネントをダブルクリックして、実行時に一時的な接続定義を作成しようとしました。TFDConnection
それは例外を与えるだけです:
TFDConnection コンポーネントをダブルクリックすると例外が発生する
私が見つけた唯一の解決策は、環境変数を設定する$(PUBLICDOCUMENTSDIR)
ように指示されている XE5 ドキュメントにあります。デモを実行するには、すでにそれを行う必要がありました (以前は、行で同じ例外がスローされましたFDConnection1.Connected := True;
。現在はそうではありません。デモは実行時に完全に実行されます)。その変更は明らかにデザイナーに影響を与えていません。結局、ドキュメンテーションはDatabase
プロパティの設定について話しているので、私が正しい場所を探しているかどうかさえわかりません。
だから私は困惑しています。データベースはどこに設定されますか? DFM やストリーミング プロパティにはありません。ドキュメントで定義されたプロパティにありTFDPhysSQLiteDriverLink.Database
ません(存在しないか、そのように見えるものは何もありません)。デザインタイム エディターにはありませんTFDConnection
(例外がスローされますが、ここでプロパティとして指定されたファイルは、ストリーミングされた DFM に表示されると思います)。コードにはありません。...他にどこにあるのでしょうか?
(私は以前に FireDAC を使用したことがないので、完全な初心者です。ところで、私はドキュメントとサンプルを介して自己学習しています。)