可能であれば、複数のDSNを使用するようにColdFusion 9のORMを設定するにはどうすればよいですか?複数のセッションスコープDSNに対してColdFusionのORMを設定するにはどうすればよいですか?
アプリケーションスコープの代わりにセッションスコープのコンテキストでデータソースをセットアップすることは可能ですか?
また、CF9では、複数のDSNを使用するためにHibernateを設定する方法はありますか?
私はより具体的にする必要がありように私はセッションに基づいてDSNを指定することができます解決策を探しています ...見えます。
ここにシナリオがあります。サブドメインから決定された複数のDSNを使用する単一のカスタム構築アプリケーションがあります。したがって、http://abc.domain.comからアクセスするユーザーは、xyz.domain.comにアクセスするユーザーがxyz DSNを使用する場合、abc DSNを使用します。 DSNの名前は、セッションの作成時に決定され、セッション変数として保存されます。 ColdFusionの9.0.1アップデートで導入された
//Artists.cfc
component persistent="true" datasource="#session.dsn#"
{
property name="artistid" generator="increment";
property firstname;
property lastname;
property address;
property city;
property state;
}
// Application.cfcの
component output="false" {
THIS.name = "MultipleDsnORMTest";
THIS.applicationTimeout = createTimeSpan(0, 0, 0, 0);
THIS.clientManagement = false;
THIS.datasource = ""; // Leaving black ==> "No data source specified."
// Setting to cfbookclub ==> "ORM is not
// configured for the current application."
// Setting to cfartgallery works but doesn't
// demonstrate use multiple DSNs
THIS.loginStorage = "cookie";
THIS.sessionManagement = true;
THIS.sessionTimeout = createTimeSpan(0, 0, 0, 0);
THIS.ormenabled = true;
THIS.ormsettings = {};
}
'' Artists.cfc'に 'datasource =" xyz "' hardcoded(xyz)を保存しなければなりませんでしたか?ダイナミックにする方法を見つけましたか? – Sergii
@Sergii複数のデータソースに制限があるため、私はCF ORMであまり働いていません。私がそれが真実でないことを望む限り、答えは、データソースをハードコードする必要があるということです。私が間違っていれば、誰かが私を修正してくれることを願っ私はハードコーディングを悪いプログラミング慣行とみなしていたので、間違っていると本当に思います。 – Micah