Print Thread
9.2 Client conflict with LOBs
#6192 03/18/04 01:10 AM
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
G
Member
OP Offline
Member
G
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
Just noticed some sort of conflict using the 9.2 client drivers. No problems with 8.1.7, seems to be related to LOBs. Trying to track down a reproducible outside of the application. Does this ring any bells?

Re: 9.2 Client conflict with LOBs
#6193 03/18/04 10:41 PM
Joined: Aug 1999
Posts: 22,208
Member
Offline
Member
Joined: Aug 1999
Posts: 22,208
What exactly goes wrong? Any error messages or exceptions?


Marco Kalter
Allround Automations
Re: 9.2 Client conflict with LOBs
#6194 03/19/04 04:04 AM
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
G
Member
OP Offline
Member
G
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
Will email a snapshot of the error message as well as other info.

Re: 9.2 Client conflict with LOBs
#6195 03/26/04 02:06 AM
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
G
Member
OP Offline
Member
G
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
Marco,

Traced down a reproducible on the 9i LOB issue and found that we were doing some very bad things and perhaps unnecessary things. Here is the situation. For stored procedures we create TLobLocator for each LOB parameter. If the parameter is not null or empty the Locator is passed into dbms_lob.createtemporay() to get a temp session lob. If it is empty(but not null), TLobLocator.SetEmpty is called. The LobLocators are then passed into the StoredProc/Function via SetComplexVariable and the Execute is called. After the returned data is extracted, any tempLobs are freed via dbms_lob.freetemporay() and then all the LobLocators are freed. However, looking at DOA it seems SetEmpty (re)creates through OCI calls and my calls to dbms_lob are unnecessary. Is this correct?

--Greg

Re: 9.2 Client conflict with LOBs
#6196 03/26/04 10:10 PM
Joined: Aug 1999
Posts: 22,208
Member
Offline
Member
Joined: Aug 1999
Posts: 22,208
I'm not sure if I completely understand the scenario, but it should not be necessary to create or free temporary LOB's through the dbms_lob package. You can create them on the client through TLOBLocator.CreateTemporary, pass them to the server, and free them on the client as well.


Marco Kalter
Allround Automations
Re: 9.2 Client conflict with LOBs
#6197 03/26/04 10:42 PM
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
G
Member
OP Offline
Member
G
Joined: Sep 1999
Posts: 41
Lake Forest, CA 92630
My version of the code (3.4.6.1 March 2002) does not seem to have CreateTemporary. Does have Clear and SetEmpty which seem to call OCIObjectNew with a LobType, but when I write I get an invalid handle exception. Is there later code and if so, is iBASEt current so I can get it. If not, I'll make it so.


Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.047s Queries: 13 (0.016s) Memory: 2.5168 MB (Peak: 3.0393 MB) Data Comp: Off Server Time: 2024-05-04 16:04:31 UTC
Valid HTML 5 and Valid CSS