在Application.cfc中创建数据源

时间:2013-05-16 13:17:12

标签: coldfusion

我想在Application.cfc中设置一个数据源 我可以用dbsetup以某种方式吗?

我想命名源代码,指定服务器,数据库,用户,密码......

我的管理员无法在服务器上运行,这就是我想这样做的原因。

4 个答案:

答案 0 :(得分:1)

如果您拥有管理员密码,可以使用administrator API创建它。我不确定你是否应该在application.cfc中这样做。 CF6 +剥夺了本机使用DSN-Less连接的能力,因此除非您想要jump through a lot of hoops,否则无法一次性使用DSN。

答案 1 :(得分:1)

对于MYSQL数据库,请参考以下代码: http://www.thehatrack.net/blog/programmatically-creating-new-datasources-in-coldfusion/

对于MSSQL数据库,请参考以下代码: http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fcf.html

在任何一个示例中,您仍然需要访问您的cfadmin密码才能访问API,因为它是一个管理功能。

答案 2 :(得分:1)

您可以在application.cfc文件中定义attributeCollection

<cfset stData = {}>
<cfset stData.username = 'myusername'>
<cfset stData.password= 'myPassword'>

然后使用attributeCollection

中的cfquery参数
<cfquery attributecollection="#stData#">

然后,您必须将密码存储在此结构中,因此它不是理想的过程。如果您无法访问CF管理员或CF管理员密码,则您的选择非常有限。

答案 3 :(得分:0)

自 2014 年 ColdFusion 11 以来,这已经成为可能。文档位于 Application variables

文档中的示例是:

// Application.cfc
component {
        this.name = "DSNTest";
        this.datasources = { 
                mssql_app = { 
                    database = "<DBName>", 
                    host = "<HostNameOrIP>", 
                    port = "<portNumber>", 
                    driver = "MSSQLServer", 
                    username = "username", 
                    password = "password" } 
                };
        this.datasource = "mssql_app";
}