问题描述
我在使用Oracle的ODBC驱动程序通过CRecordset执行select语句时遇到问题.
我的环境是MSVS2008,Oracle 10g DB,Ora ODBC和CRecordset.我在像xxx_pck.funct(p1,p2,pn)这样的语句中有一个计算字段.还有其他各种类型的字段,例如ID,CUSTOMER等.如果第一个字段是类似于SELECT xxx_pck.funct(p1, p2, pn), ID, ... FROM tablename
的函数,则CRecordset :: Open将使用无效的标识符崩溃.
如果函数位于SELECT ID, xxx_pck.funct(p1, p2, pn),... FROM tablename
之类的其他地方,则一切正常!有人已经收到这个奇怪的错误消息吗? Grants,同义词很好(因为更改列的顺序是可以的).谢谢您的答复!
-mfg-
adam
Hi,
I have a problem with executing a select statement with CRecordset using Oracle''s ODBC driver.
My environment is MSVS2008, Oracle 10g DB, Ora ODBC and CRecordset. I have a computed field in the statement like xxx_pck.funct(p1, p2, pn). There are other fields as well like ID, CUSTOMER, etc. in various types. If the first field is a function like SELECT xxx_pck.funct(p1, p2, pn), ID, ... FROM tablename
, then CRecordset::Open crashes with invalid identifier.
If the function is somewhere else like SELECT ID, xxx_pck.funct(p1, p2, pn),... FROM tablename
everything''s fine! Have someone already got this strange error message? Grants, synonyms are fine (since changing the order of columns is OK).Thank you for your reply!
-mfg-
adam
推荐答案
SELECT xxx_pck.funct(p1, p2, pn) AS Computed, ID, ... FROM tablename
.
这篇关于CRecordset与Oracle函数一起崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!