sql-server - 在 ColdFusion 中动态创建数据库和数据源
问题描述
我正在尝试根据用户输入动态创建数据库和数据源。
我不确定是否可以在不使用数据源的情况下使用 cfquery 标签创建数据库。
用于创建数据源
<cfscript>
adminObj = createObject("component","cfide.adminapi.administrator");
adminObj.login("admin password");
myObj = createObject("component","cfide.adminapi.datasource");
myObj.setMSSQL(driver="MSSQLServer",
name="datasourceName", host = "127.0.0.1", port = "1433",
database = "database", username = "userName", password="password", login_timeout = "30",
timeout = "20", interval = 7, buffer = "64000", blob_buffer = "64000", setStringParameterAsUnicode = "false",
description = "", pooling = true, maxpooledstatements = 1000, enableMaxConnections = "true",
maxConnections = "300", enable_clob = true, enable_blob = true, disable = false, storedProc = true,
alter = false, grant = true, select = true, update = true, create = true, delete = true, drop = false,
revoke = false
);
</cfscript>
我尝试使用上面的代码静态创建数据源,它成功创建了数据源
用于创建数据库
<cfquery name="createDB" result="res">
create database #form.dbname#
</cfquery>
但无法使用上述代码创建数据库。我得到了错误,我的目标需要使用用户输入字符串创建数据库然后数据源。
任何建议或帮助都是可观
的,在此先感谢。
解决方案
您可以将脚本转换为函数,并从表单输入中传递所需的数据库名称作为参数吗?
runCreateDatabase = createDBforMe(databasename=form.dbname)
推荐阅读
- linux - 如何区分带后缀和不带后缀的文件名?
- swift - 按下mapView的指南针按钮时如何调用函数
- chai - 在数组上使用嵌套包含
- angular - 是否可以以静态类型的方式使用 ngTemplateOutlet?
- mysql - 如何从 Angular -> NodeJs/ExpressJs -> MySQL POST 方法
- promela - 使用破坏消息的机制修改上述 Promela 模型
- php - 从包含多个案例的查询中获取数据
- google-sheets - Countif 单元格和右侧单元格
- ruby-on-rails - 通知 ruby on rails
- android - android.support.constraint.ConstraintLayout 不能转换为 android.widget.TextView