Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problems with ODAC Versions

675852Dec 16 2008 — edited Dec 16 2008
Hello!
I've a problem with ODAC versions.
I'm using Delphi 7, on Windows XP and Devart ODAC installed.
In broad terms, I use a TOraObject to send my data to a stored procedure; I fill it with a virtual table, where I insert my data. When I Execute the stored procedure, I receive an exception message from Oracle. It seems like if a pointer is null; but if I debug step by step my source code, no one pointer is null.
And now the mistery: this happens only with some version of ODAC.
Here is my situation (a part of my code):

1. I Create a TOraObject

criteriaContainer := TORAObject.Create(nil);
criteriaContainer.CreateObject(OraSession.OCISvcCtx, 'CRITERIACONTAINERB');

2. I fill with my data

tempObj := TOraObject.Create(nil);
tempObj.CreateObject(OraSession.OCISvcCtx, 'CR_B_COMMENT_NEXT');
tempObj.AttrAsString['STEXT'] := sComment;
iIdx := TOraNestTable(criteriaContainer.AttrAsObject['tCriteriaList']).Size;
TOraNestTable(criteriaContainer.AttrAsObject['tCriteriaList']).ItemAsObject[iIdx] := tempObj;

3. and i call a stored procedure with my data as parameter

resultSet.ParamByName('p_criteriaContainer').AsObject := criteriaContainer;

4. Finally I call

resultset.Execute

If I use the ODAC 6.25.1.13 and previous versions everything is ok, no bug, no problems.
But if I use a 6.50.0.36 and later versions, when I Execute I receive this message from Oracle:
"Method dispatch on NULL SELF argument is disallowed"
The Oracle version I use is 9.2.0.7.

I think my problems concerning the #1, where I create the TOraObject and OCISvcCtx of OraSession is passed as parameter. Perhaps the inner structures of Ora classes changing from a ODAC version to another, and in particular cases (like this) the pointers generates mistakes... I don't know.
I searched through the net an answer, but no one I have found.

Could be a compatibility problem between ODAC and Oracle versions?
Any idea? Has anyone seen a behavior like this?


Thanks a lot for your time!!

Edited by: user10717322 on Dec 16, 2008 1:34 AM

Edited by: user10717322 on Dec 16, 2008 4:15 AM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 13 2009
Added on Dec 16 2008
0 comments
485 views