我已经展示了如何使用Application.cfc而不是使用Application.cfm - 这很好,我喜欢学习新东西。然而,在我做出改变后,我无法弄清楚如何让DSN正常工作。在我使用Application.cfm文件中的一组DSN
之前。Application.cfc设置DSN并调用DSN
<cfparam name="DSN" default="">
<cfset DSN = "krl" />
并把它称为在这里:
<CFQUERY NAME="Inital" DATASOURCE="#DSN#">
SELECT Website_Name
FROM InitalizationData
</CFQUERY>
现在设置它喜欢:
component {
this.name = "app";
this.Sessionmanagement = true;
this.datasource = "krl";
public void function onSessionStart() {
// initialize cart
session.cart = [];
}
}
我怎么叫出来在我的查询?
我以为你只是以同样的方式调用它。 'datasource =“krl”'你的例子。当你尝试时发生了什么?我想如果你只定义一个'datasource',那么你甚至不必在'cfquery'标签中指定''.this.datasource'使它成为你的应用程序的默认值。 –
在CF 9中,您使用this.datasource设置默认数据源,就像您一样。现在您的查询不需要指定数据源。 –
*我如何在我的查询中调用它?*您不知道。建立默认数据源的目的是为了避免在每个cfquery中指定DSN名称;-)如前所述,您应该省略cfquery中的“datasource”属性,应用程序将自动使用默认的“this.datasource” 。 (注意,这个范围在Application.cfc组件之外是不可访问的)。(http://stackoverflow.com/a/23796613/104223)。) – Leigh