6

可能であれば複数の DSN を使用するには、ColdFusion 9 の ORM をどのように構成しますか?

アプリケーション スコープではなく、セッション スコープのコンテキストでデータソースをセットアップすることは可能ですか?

または、CF9 では、複数の DSN を使用するように Hibernate をどのように構成しますか?


もっと具体的にする必要があるように見えます... セッションに基づいて DSN を指定できるソリューションを探しています。

これがシナリオです。サブドメインから決定される複数の DSN を使用する単一のカスタム ビルド アプリケーションがあります。したがって、http: //abc.domain.com からアクセスする人は abc DSN を使用し、xyz.domain.com にアクセスする人は xyz DSN を使用します。DSN の名前は、セッションの作成時に決定され、セッション変数として保存されます。

私はこのようなことをしたいと思います:

//Artists.cfc

component persistent="true" datasource="#session.dsn#"
{ 
property name="artistid" generator="increment"; 
property firstname; 
property lastname; 
property address; 
property city; 
property state; 
}

// アプリケーション.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 = {}; 
}
4

2 に答える 2

1

ColdFusion 9.0.1 アップデートで導入され、ORM で複数のデータ ソースを使用できます。コンポーネントごとに 1 つずつ。オブジェクトで「datasource」属性を使用して、使用するデータベースを指定します。

<cfcomponent displayname="firstObject" datasource="dbOne">
    <cffunction>
        ...
    </cffunction>

    ...
</cfcomponent>

また

component datasource = 'dbOne'{
    ...
}
于 2011-11-18T05:30:49.437 に答える
1

アプリケーション スコープ内の ORM で複数のデータ ソースを使用するように ColdFusion 9 を構成することはできますが、セッション スコープ内で複数の DSN を操作するように ColdFusion 9 の ORM を構成することはできません。

于 2012-01-30T22:32:59.323 に答える