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

oracle – 我的CFQUERY结果结构中缺少GENERATEDKEY值,第1张

概述我有两个不同的CF11应用程序,它们有两个不同的数据源,每个数据源在同一个Oracle 12g数据库上都有自己的后端模式.在一个数据源dsA中,当我使用CFQUERY插入新记录时,结果结构包含GENERATEDKEY值.在数据源dsB中,当我运行完全相同的代码时,结果结构中没有GENERATEDKEY值. 这是我正在运行的测试代码…… <cftry> <cfset ds = "dsA"/> 我有两个不同的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值.

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

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

提前感谢任何建议.

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

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

总结

以上是内存溢出为你收集整理的oracle – 我的CFQUERY结果结构中缺少GENERATEDKEY值全部内容,希望文章能够帮你解决oracle – 我的CFQUERY结果结构中缺少GENERATEDKEY值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存