如果可能的话,如何配置ColdFusion 9的ORM来使用多个DSN?
是否可以在会话范围而不是应用程序范围的上下文中设置数据源?
或者,在CF9中,如何配置Hibernate来使用多个DSN?
看来我应该更具体一点..。我正在寻找一种允许基于会话指定DSN的解决方案。
情况是这样的。我们有一个定制的应用程序,它使用多个DSN,这是从子域确定的。因此,从http://abc.domain.com访问的人将使用abc,当访问xyz.domain.com的人使用xyz时。当创建会话并将其存储为会话变量时,将确定DSN的名称。
我想做这样的事情:
//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 = {};
}发布于 2012-01-30 22:32:59
虽然可以将ColdFusion 9配置为在应用程序范围内使用多个ORM数据源,但不可能将ColdFusion 9的ORM配置为会话范围内的多个DSN。
发布于 2011-11-18 05:30:49
在ColdFusion 9.0.1更新中引入的,您可以使用使用ORM的多个数据源。每个组件一次一次。使用对象中的“数据源”属性来指定应该使用哪个数据库。
<cfcomponent displayname="firstObject" datasource="dbOne">
<cffunction>
...
</cffunction>
...
</cfcomponent>或
component datasource = 'dbOne'{
...
}https://stackoverflow.com/questions/8178047
复制相似问题