私はPlone(Zope)からデータベースのusername passwd形式の接続文字列を必要とするZMySQLDAコネクタを使用してMysqlのデータベースに接続しています。
しかし、私はzope管理インターフェースから接続オブジェクトを変更せずに外部ファイルから変更できるように、外部ファイルから渡される接続文字列が必要です。
可能ですか?
助けや指導をいただければ幸いです。Plone:外部ファイルから接続文字列をzmysqldaに渡す
答えて
ファイルシステムに接続文字列をどの程度正確に格納する必要があるのかはわかりません。ファイルシステム上でがになることが唯一の制約であれば、それはz3c.saconfigのためです。それは次のように、ZCMLから設定を取得します。
<configure xmlns="http://namespaces.zope.org/db">
<include package="z3c.saconfig" file="meta.zcml"/>
<engine name="otn" url="postgresql://[email protected]${buildout:dbhost}/otnunit" />
<session name="pas.plugins.sqlalchemy" engine="otn" />
</configure>
しかしz3c.saconfig SQLAlchemyのためであり、あなたがSQLAlchemyDAにZMySQLDAから切り替える必要があるだろう、とさえ、それが自動ではないでしょう。あなたがそのスイッチを作る準備ができているなら、おそらく残りの部分を手伝ってくれるでしょう。
ZMySQLDAは古いアダプタです(本当に私はZope DAをまったく使用していませんが、少なくともSQLAlchemyDAは非常によく管理されています)。
z3c.saconfigを使用している場合は、collective.saconnect(ファイルには存在しませんが、ZMIではなくPloneコントロールパネルにあります)で接続文字列を維持することができます。アダプターは、接続文字列が変更されたときに接続を再構築します。 z3c.saconfigだけではそれを行えません。
ファイルシステムオブジェクトを変更して接続文字列を更新するのは簡単ではありません。少なくとも変更を反映するためにファイルを変更した後に、ある視点を横断する必要があります。
あなたは私の権利を得ました!私は、外部ファイルに接続文字列を入れることだけが唯一の制限である必要があります。しかし私はZMySQLDAだけを使いたいと思っています。 ZMySQLDAの設定はありますか?またはそれのための任意の設定ファイルを作成できますか?ありがとうございました。 –
申し訳ありませんが、これは起こりそうにないでしょう。上記の私の編集したコメントを見てください。 – Auspex
- 1. VB.Net外部ファイルから2つの接続文字列を読み取る
- 2. Excelを変更する "外部データ"接続文字列
- 3. クラシックASPからOracle 11gに接続する接続文字列
- 4. .odcファイルから接続文字列を抽出します。
- 5. 接続文字列:設定ファイルからコードに変換
- 6. コード外の接続文字列
- 7. 接続文字列のNpgsql例外
- 8. Informix Invalid Argument例外接続文字列
- 9. エンティティフレームワークからのプロバイダ接続文字列
- 10. DLLのWebConfigファイルから接続文字列を読み取る
- 11. 外部ネットワークからWebMinに接続
- 12. Backandから外部データベースに接続
- 13. 接続文字列
- 14. 動的接続文字列を別のWindowsフォーム(VB.NET)に渡す
- 15. 接続文字列をコードファーストDbContextに渡す
- 16. 接続文字列をViewModelコンストラクタに渡します。
- 17. PHPが文字列を外部のdiffコマンドに渡す
- 18. パラメータ入力後にC#で外部クラスから接続文字列を取得する
- 19. Pythonの「範囲外の文字列インデックス」文字列データを読み取ろうと、外部ファイルから
- 20. 接続文字列をSQEXPRESSサーバーからLocalDbファイルに変更する
- 21. 部分文字列をCに渡す
- 22. 外部タブからの接続拒否
- 23. 生の接続文字列を渡す方法
- 24. 外部ファイルのユーザー名とパスワードをExcelデータ接続に渡す方法
- 25. エンティティフレームワークの動的接続文字列を使用した移行コードファースト(テキストファイルからの接続文字列)
- 26. リモートデータベースサーバーの接続文字列
- 27. EFの接続文字列
- 28. Azureハイブリッド接続文字列
- 29. SQL接続文字列パラメータ
- 30. 接続文字列のベストプラクティス
これは頻繁に変更する必要があり、どのように変更をトリガする必要がありますか? Ploneが始まるとき?接続ごとに? – SteveM
zmysqldaがデータベースに接続しようとすると、外部ファイルから接続文字列を取得する必要があります。 –
これらのデータベースアダプタはプールされた接続を維持し、ソリューションがスレッドセーフであることを確認する必要があるため、少し面倒です。これは答えではありませんが、これに取り組もうとしていた場合、データベース接続のプロキシとして機能するカスタムビューを作成し、DAインターフェイスの調査を開始して、接続を安全に終了して開く方法を見つけ出します。接続文字列を更新するのは簡単な作業です。 私は、あなたがこれまでやったことがある時には、SQLAlchemyの使用に切り替えることができ、はるかに幸せになることが分かったと思います。 – SteveM