这可能是一个愚蠢的问题,但当我的数据源位于cfm页面中时,它会很好地工作,但是当我将数据源放入我的应用程序.cfc时,它就会出错。
CFM文件中的代码
<cfquery name = "getlist" datasource="jeb48_shoppingcart">
SELECT ProductID, ProductName, ProductQty, ProductPrice, ProductDescription
FROM Products;
</cfquery>
CFC 代码
<cfcomponent>
<cfset This.name = "TestApplication">
<cfset This.clientStorage = "jeb48_northwind">
<cfset This.clientmanagement="True">
<cfset This.loginstorage="Session">
<cfset This.sessionmanagement="True">
<cfset This.sessiontimeout="#createtimespan(0,0,10,0)#">
<cfset This.applicationtimeout="#createtimespan(5,0,0,0)#">
</cfcomponent>
您的Application.cfc没有正确设置数据源。
clientstorage
由client
变量使用-点击此处了解更多信息
datasource
用于cfquery数据源:
<cfset this.datasource="cfartgallery">
您可以在此处阅读有关datasource
属性的更多信息
一种解决方案是在应用程序启动时将数据源定义为应用程序变量。如果有多个数据源,则可以使用包含数据源结构的应用程序变量。Antony是正确的,您只是在为客户端存储创建对数据源的引用。这并不意味着它有效。
<cfset APPLICATION.dsn = {}>
<cfset APPLICATION.dsn.main = "jeb48_northwind">
<cfset APPLICATION.dsn.logging = "loggingDataSource">
<cfquery name = "getlist" datasource="#APPLICATION.dsn.main#">
SELECT ProductID, ProductName, ProductQty, ProductPrice, ProductDescription
FROM Products;
</cfquery>