首页 > 解决方案 > 在 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>

但无法使用上述代码创建数据库。我得到了错误,我的目标需要使用用户输入字符串创建数据库然后数据源。 在此处输入图像描述

任何建议或帮助都是可观
的,在此先感谢。

标签: sql-servercoldfusioncfmlcoldfusion-2016

解决方案


您可以将脚本转换为函数,并从表单输入中传递所需的数据库名称作为参数吗?

runCreateDatabase = createDBforMe(databasename=form.dbname)


推荐阅读