Динамическое создание базы данных и источника данных в ColdFusion - PullRequest
3 голосов
/ 28 февраля 2020

Я пытаюсь создать базу данных и источник данных динамически из пользовательского ввода.

Я не уверен, возможно ли или нет создать базу данных с помощью тега 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>

, но не удалось создать базу данных с использованием приведенного выше кода. Я получил ошибку, моя цель должна создать базу данных, а затем источник данных, используя строку ввода пользователя. enter image description here

Любые советы или помощь приветствуются
Заранее спасибо.

1 Ответ

1 голос
/ 04 марта 2020

Можете ли вы преобразовать свой скрипт в функцию и передать желаемое имя базы данных из формы ввода в качестве аргумента?

runCreateDatabase = createDBforMe (databasename = form.dbname)

...