we still try to convert a product from ORACLE 7.3 and BDE 4.51 to
ORACLE 8.04 and BDE 5.0 but:
a) we cannot read a LONG VARCHAR anymore if it's longer than
2000 bytes and the RequestLive of a Query is set to False
b) the program crashes (BDE is hanging) if the a ORA-Error occurs.
Is there any help?
Regards
Günther
I hear rumors that some BDE 5 O8 problems will be fixed in an upcoming D4
inline (Ramesh?).
V/R
Russell L. Smith
Stephen Atchison wrote in message <6ub7pu$12...@forums.borland.com>...
Now we have more information about the exact cause of the "hanging" problem.
We expect that the BDE hangs because of a "Param" problem.
Delphi tries to deleting a record using Params (as shown in the
SQL-Monitor-Log below).
The same problem can be reproduces by using the SQL-Explorer:
Select Sheet <Data> of the Table then select a record and press CRTL - DEL)
Enviroment:
- Oracle: 8.0.4
- Dll32: SqlOra8.DLL
- Vendor init : OCI.DLL
- BDE5: newest 5.0 patch
- Delphi: 3.02
SQL-Monitor Log
1 09:08:41 SQL Prepare: ORACLE - DELETE FROM "PRODUSERGROUPS" WHERE
"PRODUSERGROUPID"=:1 AND "DESCRIPTION"=:2 AND "PRODGROUPPASSWORD" IS NULL
AND "PWCANEXPIRE"=:3 AND "PWEXPIREINTERVAL"=:4 AND "PWEXPIREDATE"=:5 AND
"ROWID"=:6
2 09:08:41 SQL Vendor: ORACLE - oopen
3 09:08:41 SQL Vendor: ORACLE - oparse
4 09:08:41 SQL Vendor: ORACLE - obndrvn
5 09:08:41 SQL Vendor: ORACLE - obndrvn
6 09:08:41 SQL Vendor: ORACLE - obndrvn
7 09:08:41 SQL Vendor: ORACLE - obndrvn
8 09:08:41 SQL Vendor: ORACLE - obndrvn
9 09:08:41 SQL Vendor: ORACLE - obndrvn
10 09:08:41 SQL Vendor: ORACLE - obndrvn
11 09:08:41 SQL Vendor: ORACLE - oparse
12 09:08:41 SQL Data In: ORACLE - Param = 1, Name = PRODUSERGROUPID,
Type = fldZSTRING, Precision = 20, Scale = 0, Data = INFO
13 09:08:41 SQL Vendor: ORACLE - obndrvn
14 09:08:41 SQL Data In: ORACLE - Param = 2, Name = DESCRIPTION, Type
= fldZSTRING, Precision = 30, Scale = 0, Data = Info
15 09:08:41 SQL Vendor: ORACLE - obndrvn
16 09:08:41 SQL Data In: ORACLE - Param = 3, Name = PWCANEXPIRE, Type
= fldZSTRING, Precision = 1, Scale = 0, Data = J
17 09:08:41 SQL Vendor: ORACLE - obndrvn
18 09:08:41 SQL Data In: ORACLE - Param = 4, Name = PWEXPIREINTERVAL,
Type = fldFLOAT, Precision = 38, Scale = 0, Data = 10000.000000
19 09:08:41 SQL Vendor: ORACLE - obndrvn
20 09:08:41 SQL Data In: ORACLE - Param = 5, Name = PWEXPIREDATE, Type
= fldTIMESTAMP, Precision = 1, Scale = 0, Data = 1/27/2026 0:0:0:0
21 09:08:41 SQL Vendor: ORACLE - obndrvn
22 09:08:41 SQL Data In: ORACLE - Param = 6, Name = ROWID, Type =
fldZSTRING, Precision = 18, Scale = 0, Data = AAAA6+AAIAAAAIQAAC
23 09:08:41 SQL Vendor: ORACLE - obndrvn
24 09:08:41 SQL Execute: ORACLE - DELETE FROM "PRODUSERGROUPS" WHERE
"PRODUSERGROUPID"=:1 AND "DESCRIPTION"=:2 AND "PRODGROUPPASSWORD" IS NULL
AND "PWCANEXPIRE"=:3 AND "PWEXPIREINTERVAL"=:4 AND "PWEXPIREDATE"=:5 AND
"ROWID"=:6
25 09:08:41 SQL Vendor: ORACLE - oexec
26 09:08:42 SQL Vendor: ORACLE - oerhms
27 09:08:42 SQL Error: ORACLE - ORA-03113: end-of-file on
communication channel
at this Point (27) the Oracle Exception appears any further sql will not
work,
the Apllication lost contact to Oracle shown in (36) ORA-03114: not
connected to ORACLE
28 09:08:42 SQL Error: ORACLE - Unmapped SQL Error Code: 3113
29 09:08:42 SQL Stmt: ORACLE - Close
30 09:08:42 SQL Vendor: ORACLE - oclose
31 09:12:08 SQL Stmt: ORACLE - Close
32 09:12:08 SQL Vendor: ORACLE - oclose
33 09:12:08 SQL Prepare: ORACLE - SELECT "PRODUSERGROUPID",
"PRODSECID", "INFO", "EDIT", "DEL", "PRNT", "SPEC1", "SPEC2", "SPEC3",
"SUPERVISORY", "ROWID" FROM "PRODUSERGROUPRIGHTS" WHERE ("PRODUSERGROUPID")
= (:1) ORDER BY "PRODUSERGROUPID", "PRODSECID"
34 09:12:08 SQL Vendor: ORACLE - oopen
35 09:12:08 SQL Vendor: ORACLE - oerhms
36 09:12:08 SQL Error: ORACLE - ORA-03114: not connected to ORACLE
37 09:12:08 SQL Error: ORACLE - Unmapped SQL Error Code: 3114
Regards
Dirk and Günther
In case you haven't already considered this, the documentation for ORA-03113
includes the following note:
"If the message occurs after a connection is well established, and the error
is not due to a physical failure, check if a trace file was generated on the
server at failure time. Existence of a trace file may suggest an Oracle
internal error that requires the assistance of customer support."
V/R
Russell L. Smith
Stephen Atchison wrote in message <6ud53h$3t...@forums.borland.com>...
>Does your table have a primary key? I usually don't see ROWID used as part
>of the WHERE clause in the update.
we have the following SQL running and the constraint is there
ALTER TABLE OKGR.ProdUserGroups
ADD ( PRIMARY KEY (ProdUserGroupID) ) ;
>Suggestion: Build up a duplicate table
>one column at a time and see which parameter is causing the problem.
It's only occuring with Delphi's internal Params.
.. where Name=:Name ...
If we fire the same statement manually form the SQLExporer
.. where Name='Scott' ...
it's ok.
>In case you haven't already considered this, the documentation for
>ORA-03113 includes the following note:
>
>"If the message occurs after a connection is well established, and the
>error is not due to a physical failure, check if a trace file was generated
>on the server at failure time. Existence of a trace file may suggest an
>Oracle internal error that requires the assistance of customer support."
>
I have appended the trace into a privat mail to you but it does not tell to
much
Regards
Günther