首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为多个会话范围DSNs配置ColdFusion的ORM?

问如何为多个会话范围DSNs配置ColdFusion的ORM?
EN

Stack Overflow用户
提问于 2011-11-18 05:10:22
回答 2查看 1K关注 0票数 6

如果可能的话,如何配置ColdFusion 9的ORM来使用多个DSN?

是否可以在会话范围而不是应用程序范围的上下文中设置数据源?

或者,在CF9中,如何配置Hibernate来使用多个DSN?

看来我应该更具体一点..。我正在寻找一种允许基于会话指定DSN的解决方案。

情况是这样的。我们有一个定制的应用程序,它使用多个DSN,这是从子域确定的。因此,从http://abc.domain.com访问的人将使用abc,当访问xyz.domain.com的人使用xyz时。当创建会话并将其存储为会话变量时,将确定DSN的名称。

我想做这样的事情:

//Artists.cfc

代码语言:javascript
复制
component persistent="true" datasource="#session.dsn#"
{ 
property name="artistid" generator="increment"; 
property firstname; 
property lastname; 
property address; 
property city; 
property state; 
}

// Application.cfc

代码语言:javascript
复制
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 = {}; 
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-30 22:32:59

虽然可以将ColdFusion 9配置为在应用程序范围内使用多个ORM数据源,但不可能将ColdFusion 9的ORM配置为会话范围内的多个DSN。

票数 1
EN

Stack Overflow用户

发布于 2011-11-18 05:30:49

在ColdFusion 9.0.1更新中引入的,您可以使用使用ORM的多个数据源。每个组件一次一次。使用对象中的“数据源”属性来指定应该使用哪个数据库。

代码语言:javascript
复制
<cfcomponent displayname="firstObject" datasource="dbOne">
    <cffunction>
        ...
    </cffunction>

    ...
</cfcomponent>

或

代码语言:javascript
复制
component datasource = 'dbOne'{
    ...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8178047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档