我想在我的 Application.cfc 中设置一个数据源我可以用 dbsetup 以某种方式做到这一点吗?
我想命名源,指定服务器,数据库,用户,密码,......
我的管理员不在服务器上工作,这就是我想这样做的原因。
我想在我的 Application.cfc 中设置一个数据源我可以用 dbsetup 以某种方式做到这一点吗?
我想命名源,指定服务器,数据库,用户,密码,......
我的管理员不在服务器上工作,这就是我想这样做的原因。
如果您有管理员密码,则可以使用管理员 API创建它。不过,我不确定您是否应该在 application.cfc 中执行此操作。CF6+ 取消了本机使用 DSN-Less 连接的能力,因此除非您想跳过很多圈,否则您无法单独使用 DSN 。
对于 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,因为它是一项管理员功能。
您可以attributeCollection
在 application.cfc 文件中定义
<cfset stData = {}>
<cfset stData.username = 'myusername'>
<cfset stData.password= 'myPassword'>
然后attributeCollection
在你的cfquery
<cfquery attributecollection="#stData#">
然后,您必须将密码存储在此结构中,因此这不是一个理想的过程。如果您无权访问 CF 管理员或 CF 管理员密码,则您的选择非常有限。
自 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";
}