【问题标题】:Issue calling stored procedure发出调用存储过程的问题
【发布时间】:2013-10-10 21:52:09
【问题描述】:

我有一个关于在 windows sql server 2005 上创建的存储过程的问题。我有 ColdFusion 代码来调用该过程。我第一次尝试,因为程序没有正确的权限而失败,所以我添加了一个新用户db_owner并添加到程序中,然后它可以正常运行。

但后来我注意到数据库中有问题。我的问题是,即使我看到了错误,你认为程序已经开始运行了吗? 并且由于权限问题而停止不正确(可能没有必要的参数,无法访问每个表?)?您还认为它也可能导致数据库崩溃吗?


<cftry>
    <cfstoredproc procedure="test" datasource="test" result="proc_results">
        <cfprocparam cfsqltype="cf_sql_varchar" variable ="A" value="#GetToken(form.test_A)#">
        <cfprocparam cfsqltype="cf_sql_varchar" variable ="B" value="#GetToken(form.test_B)#">
    </cfstoredproc>
    <cfcatch type="any">
        Error!
    </cfcatch>
</cftry>

【问题讨论】:

  • 底线,您需要提供更多信息,然后其他人才能回答您的问题。 数据库出了点问题 具体出了什么问题?如下所述,您需要转储实际错误 - 而不仅仅是打印“错误!” RE:你认为程序是否已经开始运行这取决于发生的错误类型。转储错误和edit your question 以包含完整的错误消息。

标签: database sql-server-2005 stored-procedures coldfusion


【解决方案1】:

尝试转储错误的一些细节:

<cfcatch>
<cfoutput>
    #cfcatch.message#   
    #cfcatch.detail#
</cfoutput>
</cfcatch>

甚至

<cfcatch>
   <cfdump var="#cfcatch#">
<cfcatch>

【讨论】:

    【解决方案2】:

    存储过程错误通常不会导致整个数据库崩溃,除非它正在做一些非常非正统的事情。 SQL Server 等数据库旨在防止此类情况发生。

    关于存储过程是否开始运行:当你试图在没有正确权限的情况下启动它时,它就不会启动。如果您在添加正确的权限时说它“正常运行”,那么它就开始了。这将取决于存储过程的细节,它是否真的做了任何事情或改变了任何事情,或者没有错误地退出并且没有做任何事情。

    您需要提供存储过程的代码和数据库结构的相关部分,然后任何人才能确定地说。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多