重新连接 lucee

Rewring the connection for lucee

我有这段代码适用于 coldfusion,但是当我将它移植到 lucee 时它失败了,我知道 macromedia 在 lucee 中不起作用,我怎样才能使它在 lucee 中成为可能并想要删除连接字符串,但结果应该与函数返回我的方式完全一样

// open a connection to the database
            Class = createObject("java", "java.lang.Class");
            Class.forName("macromedia.jdbc.sqlserver.SQLServerDriver");
            manager = createObject("java", "java.sql.DriverManager");
            connectionURL = "jdbc:macromedia:sqlserver://"& SESSION.USER.dbServer &":"& SESSION.USER.dbPortNumber & ";EncryptionMethod=SSL;ValidateServerCertificate=false;";
            connection = manager.getConnection(connectionURL, SESSION.USER.dbUser, SESSION.USER.dbPass);

您可以在管理而不是应用程序代码中定义此数据源。在现有代码中尖叫 "big red flag" 的一件事是数据库服务器名称是在 cookie 中定义的。让我想知道 cookie 值中还有哪些其他需要重构的东西。

阅读 defining a data source 的文档:

this.datasources["myds"] = {
    class: 'org.gjt.mm.mysql.Driver'
    , connectionString: 'jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=true'
    , username: 'root'
    , password: "encrypted:5120611ea34c6123fd85120a0c27ab23fd81ea34cb854"
};

该示例适用于MySQL,但您需要为Lucee 使用的SQL 服务器找到正确的驱动程序名称。转到管理员并在那里创建 DSN 以查找驱动程序名称。