coldfusion - CFIF 语句检查数据库 (MSSQL) 是否正在连接或存在

标签 coldfusion coldfusion-2016

我正在尝试在 Coldfusion 16 中编写一个 if 语句来检查它是否可以连接到数据库或者它是否存在。如果它可以连接到数据库,则显示该页面,否则显示该页面以进行维护。我应该如何检查以确保数据库已启动?如有任何帮助,我们将不胜感激。

<cfquery name="DBUP" datasource="datasource"> 
SELECT ID
FROM dbo.Entry 
</cfquery> 

<cfif DBUP>
 Show Page
<cfelse>
 Show Down For Maintenance
</cfif>

最佳答案

您不应该直接将错误消息或文件放入 catch 语句中。我们应该再检查一个条件,即)错误代码是否为 0。想象一下,在某些时候开发人员可能会给出错误的查询,例如未定义的列或缺少语法等......在那个时候也会执行 catch。因此,根据要求,我们必须检查数据源是否存在。如果我们想检查所有类型的问题意味着我们不需要错误代码条件。

<cftry>
        <cfset showPage = true>
        <cfquery name="DBUP" datasource="datasource">
            SELECT ID FROM dbo.Entry 
        </cfquery>
        <cfcatch type="database">
            <!--- The error code 0 is mentioned Datasource could not be found/exits.  --->
            <cfif cfcatch.cause.errorcode eq 0 >
              <cfset showPage = false >
                <!--- Data source does not exists --->
            </cfif>

        </cfcatch>
    </cftry>

根据 showPage 值,您在此处执行业务逻辑 .... .... ....

关于coldfusion - CFIF 语句检查数据库 (MSSQL) 是否正在连接或存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51430434/

相关文章:

macos - 版本控制系统帮助单个开发人员

java - 如何使用 ColdFusion ORM 存储整数?

ColdFusion 检查 cookie 何时过期

apache - Mac 软件更新后 ColdFusion 2016 停止渲染网站

Coldfusion 成员函数名称与 jSoup 函数名称匹配。如何强制使用 jSoup 函数

coldfusion - 如何打印/显示替换了 cfqueryparam 值的 cfquery?

sql-server - ORM中如何处理历史表?

jquery - 从函数返回两个或多个值

coldfusion - 将查询结果存储在 Application.cfc 中的好或坏做法

coldfusion - Adobe ColdFusion 2016 中的脚本 404 错误