我有两个不同的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而另一个不返回?我正在试着找出原因.
提前感谢任何建议.