我想在Application.cfc中设置一个数据源 我可以用dbsetup以某种方式吗?
我想命名源代码,指定服务器,数据库,用户,密码......
我的管理员无法在服务器上运行,这就是我想这样做的原因。
答案 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";
}