application.cfc的问题显示数据源的消息"变量PRIMARYDATASOURCE未定义"

Rik*_*ik 1 coldfusion cfc application.cfc

当我尝试在index.cfm中触发简单的select查询时,使用Application.cfc中定义的数据源会显示错误消息.任何人都可以帮助我正确的代码序列?

错误:

变量PRIMARYDATASOURCE未定义

的Application.cfc

<cfcomponent>

    <!--- Set up the application. --->
    <cfscript>
        this.name = ""; // app name from old cfapplication tag
        this.sessionManagement = "Yes";
        this.loginstorage="session";
        this.setClientCookies = "Yes";
        this.primarydatasource = "diet";
        application.PRIMARYDATASOURCE = "diet";
    </cfscript>

    <cfsetting requesttimeout="100000" />

    <cffunction name="onApplicationStart">
            ....

        <cfquery datasource="#application.PRIMARYDATASOURCE#" name="getCostDetails">
            select * from maimun.adCostDetails ORDER BY ID DESC
        </cfquery>
            ....
    </cffunction>

</cfcomponent>
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 6

将线移动application.PRIMARYDATASOURCE = "diet";到该onApplicationStart功能并删除线this.primarydatasource = "diet";.完成.

放在Application.cfc简单主体中的代码不会按照您的想法执行.您只能application在应用程序初始化后访问范围 - 并且onApplicationStart是该事件的事件.将其视为Web应用程序的构造函数.

  • 虽然也许您打算使用[`this.datasource`](https://helpx.adobe.com/coldfusion/cfml-reference/application-cfc-reference/application-variables.html)?它定义了应用程序的默认数据源,允许您使用cfquery*而不指定"datasource"属性. (3认同)