LONG datatype: prob updating thru MFC on Oracle 8.0.4

From: Chris Gladwin <mangi1_at_hotmail.com>
Date: Wed, 11 Aug 1999 18:39:53 GMT
Message-ID: <Zrjs3.10379$m4.43241573_at_news.magma.ca>



Problem: Updating an Oracle 8 table (owned by another user but with access granted and synonym defined for the actually user) through MFC/ODBC fails when the table contains a column defined as the LONG data type, but does not fail when the column is defined as VARCHAR. This same problem does NOT exist in Oracle 7!

Details: A database table is defined to contain a LONG column that is expected to contain potentially large amounts of text entered by the customer over time. As each new text block is entered, it is added to the contents of the LONG column and the record in the table is updated. If the record is updated through a SQL UPDATE statement then there does not seem to be any problem. The code that fails retrieves the existing record into a CRecordset, calls the CRecordset::Edit() function, modifies the data value for the LONG column, and then executes the CRecordset::Update() function. Tracing through the code reveals that the ::SQLSetPos() function fails and reports error ORA-04043 (object <table name> does not exist). As stated above, if the column type is changed to VARCHAR the problem does not exist. Also, if the user is the owner of the table the error does not exist, even with the LONG data type!

Thanks,
Chris Received on Wed Aug 11 1999 - 20:39:53 CEST

Original text of this message