【问题标题】:define global DSN(s) in Coldfusion 10在 Coldfusion 10 中定义全局 DSN
【发布时间】:2013-10-20 15:20:54
【问题描述】:

我一直在利用面向对象的方法和存储过程构建一个新的冷融合应用程序。虽然一切都像魅力一样,但由于 SP 和优化的 mysql 代码,该应用程序非常快,如果您能帮我清除一件事,我将不胜感激 :) 我有 dbcode.cfc,您可能已经猜到它存储所有查询存储过程。也就是说,在存储全局 DNS 参数方面,一般来说最好的方法是什么?

1.这可用于一个全局 DSN

<cfset this.datasource ="myDB">

2.这也可以用于一个全局 DSN

<cffunction name="onApplicationStart" returnType="boolean" output="false">
<cfset application.dsn = "myDB">
<cfset application.username = "userName">
<cfset application.password = "password">
<cfreturn true>
</cffunction>

2.1 除 onRequest 之外的所有内容

3.在我的情况下,我还可以在 dbcode.cfc 中创建一个全局变量

<cfset variables.dsn = "myDB">
<cfset variables.username = "userName">
<cfset variables.password = "password">

4.另外,可以使用类似的东西来设置多个数据源

<cffunction name="onApplicationStart" returnType="boolean" output="false">
<cfset application.myDSNs = StructNew()>
<cfset application.myDSNs.1 = "myDB1">
<cfset application.myDSNs.2 = "myDB2">
.
.
.
<!---something similar for usernames and passwords--->
</cffunction>

那么处理这类事情最有效的方法是什么?

【问题讨论】:

    标签: mysql coldfusion cfc coldfusion-10


    【解决方案1】:

    让我看看我是否可以回答您 DSN 问题的每个部分。

    1. 将数据源设置为application.cfc构造函数的一部分即可

    2. 在 OnApplicationStart() 中设置 DSN 也可以,但您需要使用:

      <cfset application.datasource = "myDB">
      

    2.1 为每个请求设置数据源是没有意义的,除非您的数据源随着每个请求而更改。我怀疑不是

    1. 您不应该触摸queries.cfc。这是 ColdFusion 内部的,有可能破坏您服务器上的所有内容。

    2. 您可能想了解数组和结构之间的区别。看起来你想做的是:

    &lt;cfset application.myDSNs = ["MyDB1", "MyDB2]&gt;

    然后可以通过以下方式访问它们:

    #application.myDSNs[1]#
    #application.myDSNs[2]#
    

    我不会这样做。数据库通常不是任何东西的数组。每个服务器都有自己的用途。您的 DSN 应反映以下一项或多项:

    • 服务器
    • 数据库
    • 目的

    【讨论】:

    • “您不应该触摸 queries.cfc”,感谢您指出这一点。 query.cfc 实际上是一个 dbcode.cfc :)
    • “我不会这样做。数据库通常不是任何东西的数组...” 好的,如何设置多个 DSN? Ben Nadel 发布了一个带有 struct 的示例,这就是我看到这种方法的地方:)
    • 您可能想提出一个新问题,其中包含他的一些代码和指向他文章的链接。然后我可以权衡他的意思。
    猜你喜欢
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    • 2021-12-08
    • 2017-12-23
    相关资源
    最近更新 更多