加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

oracle – 我的CFQUERY结果结构中缺少GENERATEDKEY值

发布时间:2021-01-09 21:09:45 所属栏目:百科 来源:网络整理
导读:我有两个不同的CF11应用程序,它们有两个不同的数据源,每个数据源在同一个Oracle 12g数据库上都有自己的后端模式.在一个数据源dsA中,当我使用CFQUERY插入新记录时,结果结构包含GENERATEDKEY值.在数据源dsB中,当我运行完全相同的代码时,结果结构中没有GENERA

我有两个不同的CF11应用程序,它们有两个不同的数据源,每个数据源在同一个Oracle 12g数据库上都有自己的后端模式.在一个数据源dsA中,当我使用CFQUERY插入新记录时,结果结构包含GENERATEDKEY值.在数据源dsB中,当我运行完全相同的代码时,结果结构中没有GENERATEDKEY值.

这是我正在运行的测试代码……

<cftry>
    <cfset ds = "dsA"/>

    <cfquery name="insertTest" datasource="#ds#" result="testResult">
        INSERT INTO categories(cat_name)
        VALUES ('testing')  
    </cfquery>

    <cfdump var="#testResult#" label="#ds#">

    <cfcatch>
        <cfdump var="#cfcatch#" label="#ds#"><cfabort>
    </cfcatch>
</cftry>

当我将数据源设置为dsA时,我得到了这个输出.注意GENERATEDKEY和ROWID值.

enter image description here

当我将数据源设置为dsB时,我得到此输出,没有GENERATEDKEY且没有ROWID.

enter image description here

据我所知,两个Oracle模式的设置方式相同,两个数据源的配置相同.有没有人知道什么可能导致一个查询返回GENERATEDKEY而另一个不返回?我正在试着找出原因.

提前感谢任何建议.

解决方法

好吧,我们从未弄清楚为什么这一个数据源的行为与其他数据源的行为不同.他们都使用相同的驱动程序,但没有其他选项,服务器管理员最终同意将dsB数据源驱动程序更改为Oracle JDBC Thin驱动程序而不是Macromedia驱动程序.这解决了这个问题.

它并没有真正回答基本问题,但它是一种可以让应用程序再次运行的解决方法,因此我们现在就可以使用它.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读