[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::rdb_60

Title:Oracle Rdb - Still a strategic database for DEC on Alpha AXP!
Notice:RDB_60 is archived, please use RDB_70..
Moderator:NOVA::SMITHISON
Created:Fri Mar 18 1994
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5118
Total number of notes:28246

4990.0. "commit doesn't close cursor RdbV6.1-4 aplha" by ORAREP::GENIE::HARTMANNH () Mon Feb 03 1997 05:35




            Hi,
        a customer had the following problem with his application (sharable
image).
running on
Open/Vms Alpha v 6.2
Rdb V 6.1-4
COBOL

The application is running on PC with Object Broker

Object Broker calls the server

The first time after starting the server everthing works ok.

the server does the following steps

1. step embedded SQL Part

open two attached on the database (two different alias)
Ok
do some sql
ok
goto step 2 (sqlmod)

opens attach 3 two the database (different alias)
ok
do starttransaction read write
attach 3 opens ruj
ok

open cursor
do update a record
commit

go back to embedded SQL Part

disconnect all

process is hibernate.

no attaches on the database

everthing is ok.

---------------------------------------------------------------


the second time of calling the server i observed the following things

1. step embedded SQL Part

open three attached on the database  !!!!!!!!
Ok
do some sql
ok

goto step 2 (sqlmod)

do starttransaction read write
attach 3 opens ruj
ok

open cursor

!!! Get error 502 cursor already open

quit

go back to embedded SQL Part

disconnect all

process is hibernate.

sending error to PC client

----------------------------------------------------------------

It looks for me that the commit doesn't close the cursor

When i put in a close cursor everthing works ok.

Now my question.

1) Are there some known problems with commit and close cursor ?

2) Why does the server start 3 attaches on the database the second time ?
   (where is the information stored to start more than 1 attach)


3) Can it be that some internal Rdb Variables are not set correctly ?

4) How can i see this variables ?


Thank for any suggestion

Hans


P.S. The Customer is also in contact with Oracle Support


T.RTitleUserPersonal
Name
DateLines
4990.1CHSR36::LCONSMon Feb 03 1997 08:438
Hello Hans,

I'm working on this problem, i've tried to reproduce it with MF_PERSONNEL
database, SQLMOD and COBOL with no success.
If you have more informations or a way to reproduce the bug, it will be fine for
me...

Louis
4990.2some more informationORAREP::GENIE::HARTMANNHMon Feb 03 1997 09:5736
Hello Louis,

>I'm working on this problem, i've tried to reproduce it with MF_PERSONNEL
>database, SQLMOD and COBOL with no success.
>If you have more informations or a way to reproduce the bug, it will be fine for
>me...


Some more informations about this application.

I try to explain how the customer build his image.

1. they build an exe with all SQLMOD's (in this case named rd$share.exe)

2. they compile the embedded SQL stuff and link it with this rd$share.exe
   (the name of the final exe is grd$server.exe)


The Problems appears when code of rd$share is used. 
(open cursor is a part of rd$share)


i hope this info can help you

Regards Hans






  



 
4990.3HOTRDB::PMEADPaul, [email protected], 719-577-8032Mon Feb 03 1997 10:182
    Did they carefully follow the instructions in the SQL documentation on
    how to build shareable images?
4990.4linkprocs addedORAREP::GENIE::HARTMANNHWed Feb 05 1997 08:1130
Hi 

i have added the customers linkprocedures

regards Hans

========================================================================
GRD_SERVER Image:
                                                            
LINK /MAP/FULL/NOTRACE/NODEBUG/EXEC=RD_L_EXE:GRD_SERVER.EXE 
      RD_L_OBJ:GRD_SERVER.OBJ,RD_L_OBJ:RD_DISPATCHER_PROTO.OBJ,
      RD_L_OBJ:RD_GEN_ERROR_SCO.OBJ,RD_L_OBJ:RD_GEN_COPY_FIELDS_SCO.OBJ,
      RD_L_OBJ:GRDSM.OBJ, RD_L_OBJ:GRDSD.OBJ,
      RD_L_SOURCE:OBB_SHARE.OPT/OPTION,
      RDD1_OBJ:RD$SHARE.OLB/LIBRARY,
      SYS$LIBRARY:SQL$USER.OLB/LIBRARY,                  
      SY_L_PUBLIC:[READ]GRANT.OBJ,
      RD_L_SOURCE:RD_SHARE.OPT/OPTION

========================================================================
RD$SHARE Image:

$ Link /NoDebug /NoTraceback -
       /Map /Full -
       /Share=RD$SHARE -
       RD_L_OBJ:RD$SHARE.OLB/LIBRARY, -
       SYS$LIBRARY:SQL$USER.OLB/LIBRARY, -
       RD_L_COM:RD$SHARE.OPT/OPTIONS

========================================================================
4990.5HOTRDB::PMEADPaul, [email protected], 719-577-8032Wed Feb 05 1997 09:374
    We would also need to see the contents of the options (.OPT) files. 
    Before posting them be sure you study them carefully and determine
    whether or not you believe they comply with what the documentation says
    they should contain.
4990.6Option filesORAREP::GENIE::HARTMANNHThu Feb 06 1997 05:0720
hi 
   i got the option files form the customer

Regards 
Hans



OBB_SHARE.OPT:
--------------------------------------

sys$share:obb$shr.exe/share

--------------------------------------

RD_SHARE.OPT:
--------------------------------------

GRD_SERVER_LOCATION:RD$SHARE.EXE/SHARE
--------------------------------------
4990.7HOTRDB::PMEADPaul, [email protected], 719-577-8032Thu Feb 06 1997 08:591
    OK.  Have you read the documentation?
4990.8added options to the linkcommand ok now ?ORAREP::GENIE::HARTMANNHMon Feb 10 1997 08:0866
Hi 
        i have read the manual now, so we have to add the following options

<< ========================================================================
<< RD$SHARE Image:
<<
<<$ Link /NoDebug /NoTraceback -
<<       /Map /Full -
<<       /Share=RD$SHARE -
<<       RD_L_OBJ:RD$SHARE.OLB/LIBRARY, -
<<       SYS$LIBRARY:SQL$USER.OLB/LIBRARY, -
<<       RD_L_COM:RD$SHARE.OPT/OPTIONS

add to RD_L_COM:RD$SHARE.OPT:

collect=sql_psects,rdb$dbhandle,rdb$message_vector,-
        rdb$transaction_handle,sql$caller_pc,sql$transation_ptr,sqlca,slqda
psect_attr=rdb$dbhandle,noshr,gbl
psect_attr=rdb$message_vector,noshr,gbl
psect_attr=rdb$transaction_handle,noshr,gbl
psect_attr=sqlda,noshr,gbl
psect_attr=sqlca,noshr,gbl


Question 
--------
  is option cluster = needed for axp ? 



<< ========================================================================
<< GRD_SERVER Image:
<<

1) compile *.sco with /sqloptions=(nointialize_handle)

<<LINK /MAP/FULL/NOTRACE/NODEBUG/EXEC=RD_L_EXE:GRD_SERVER.EXE
<<      RD_L_OBJ:GRD_SERVER.OBJ,RD_L_OBJ:RD_DISPATCHER_PROTO.OBJ,
<<      RD_L_OBJ:RD_GEN_ERROR_SCO.OBJ,RD_L_OBJ:RD_GEN_COPY_FIELDS_SCO.OBJ,
<<      RD_L_OBJ:GRDSM.OBJ, RD_L_OBJ:GRDSD.OBJ,
<<      RD_L_SOURCE:OBB_SHARE.OPT/OPTION,
<<      RDD1_OBJ:RD$SHARE.OLB/LIBRARY,
<<      SYS$LIBRARY:SQL$USER.OLB/LIBRARY,
<<      SY_L_PUBLIC:[READ]GRANT.OBJ,
<<      RD_L_SOURCE:RD_SHARE.OPT/OPTION

add to  RD_L_SOURCE:RD_SHARE.OPT:

psect_attr=rdb$dbhandle,noshr,gbl
psect_attr=rdb$message_vector,noshr,gbl
psect_attr=rdb$transaction_handle,noshr,gbl
psect_attr=sqlda,noshr,gbl
psect_attr=sqlca,noshr,gbl
GRD_SERVER_LOCATION:RD$SHARE.EXE/SHARE



Is this correct now ?


Can somebody verify it .


Thanks Hans


4990.9can somebody verify my changesORAREP::GENIE::HARTMANNHThu Feb 13 1997 11:036
Can somebody verify it note 4990.8 ?
because i have send this modification to the customer.


Thanks in advance
Hans
4990.10CHSR36::LCONSThu Feb 13 1997 11:164
Does commit close the cursor now ?
If the application is working fine and if you have followed the documentation, 
i think that you are right.
Louis
4990.11current statusORAREP::GENIE::HARTMANNHThu Feb 13 1997 12:2528
hi Louis,


>
>Does commit close the cursor now ?
>If the application is working fine and if you have followed the documentation, 
>i think that you are right.
>Louis
> 

i was on customer site last week, but we had a lot of problem with OBB during
our test. So it was not possible to test further on.


The current status is that we run in the mode like node 4990.6.

i will send the changes as i have written in note 4990.8. to the customer
tommorow. I hope that is correct.

Because of my holidays reasons we can continue our tests at 4. of march , but 
i hope the customer can do more tests.


Regards Hans 




4990.12problem solved /final linkoption attachedORAREP::GENIE::HARTMANNHThu Mar 06 1997 04:41218
Hi, 
	after eleminating all unused symbolvectors (comes down from 7500 lines
to 250 lines finaly) and adding the the correct options (see attachment) the
application works no correct.

we have tested both cases (with close cursor and without close cursor) and 
everything work correct now.


thanks to all for your help


Hans

 

--------------------- link options -------------------------------
Executable image (GRD_SERVER):

PSECT_ATTR=RDB$DBHANDLE,NOSHR,GBL
PSECT_ATTR=RDB$MESSAGE_VECTOR,NOSHR,GBL
PSECT_ATTR=RDB$TRANSACTION_HANDLE,NOSHR,GBL
PSECT_ATTR=SQLDA,NOSHR,GBL
PSECT_ATTR=SQLCA,NOSHR,GBL
GRD_SERVER_LOCATION:RD$SHARE.EXE/SHARE


Shared image (RD$SHARE):

CLUSTER=SQL_PSECTS
COLLECT=SQL_PSECTS,RDB$DBHANDLE,RD_ALIAS,RDB$MESSAGE_VECTOR, -

RDB$TRANSACTION_HANDLE,SQL$CALLER_PC,SQL$TRANSACTION_PTR,SQLCA,SQLDA
PSECT_ATTR=RDB$DBHANDLE,NOSHR,GBL
PSECT_ATTR=RD_ALIAS,NOSHR,GBL
PSECT_ATTR=RDB$MESSAGE_VECTOR,NOSHR,GBL
PSECT_ATTR=RDB$TRANSACTION_HANDLE,NOSHR,GBL
PSECT_ATTR=SQL$CALLER_PC,NOSHR,GBL
PSECT_ATTR=SQL$TRANSACTION_PTR,NOSHR,GBL
PSECT_ATTR=SQLDA,NOSHR,GBL
PSECT_ATTR=SQLCA,NOSHR,GBL
SYMBOL_VECTOR=(RD_ALIAS=PSECT, -
               RDB$MESSAGE_VECTOR=PSECT, -
               RDB$TRANSACTION_HANDLE=PSECT, -
               SQL$CALLER_PC=PSECT, -
               SQL$TRANSACTION_PTR=PSECT, -
               rd_process_MATP=PROCEDURE, -
               rd_process_CATP=PROCEDURE, -
               rd_process_RDTA=PROCEDURE, -
               rd_process_RDTH=PROCEDURE, -
               rd_process_RDFI=PROCEDURE, -
               rd_process_RDFH=PROCEDURE, -
               rd_process_RDAT=PROCEDURE, -
               rd_process_RDER=PROCEDURE, -
               rd_process_RDCF=PROCEDURE, -
               rd_process_UOPR=PROCEDURE, -
               rd_process_UOPC=PROCEDURE, -
               rd_process_PCDI=PROCEDURE, -
               rd_process_PCSD=PROCEDURE, -
               rd_process_PCPL=PROCEDURE, -
               rd_process_PCPD=PROCEDURE, -
               rd_process_PRGR=PROCEDURE, -
               rd_process_OPUN=PROCEDURE, -
               rd_process_DISA=PROCEDURE, -
               rd_process_DIRE=PROCEDURE, -
               rd_process_MTDE=PROCEDURE, -
               rd_process_CCYC=PROCEDURE, -
               rd_process_FMRT=PROCEDURE, -
               rd_process_INTR=PROCEDURE, -
               rd_process_PRMT=PROCEDURE, -
               rd_process_DCFC=PROCEDURE, -
               rd_process_CPPV=PROCEDURE, -
               rd_process_CPSG=PROCEDURE, -
               rd_process_BUTP=PROCEDURE, -
               rd_process_MIBL=PROCEDURE, -
               rd_process_BUGC=PROCEDURE, -
               rd_process_REGR=PROCEDURE, -
               rd_process_MABU=PROCEDURE, -
               rd_process_ADOF=PROCEDURE, -
               rd_process_BLTY=PROCEDURE, -
               rd_process_BTPP=PROCEDURE, -
               rd_process_BTYP=PROCEDURE, -
               rd_process_CPRU=PROCEDURE, -
               rd_process_DIDI=PROCEDURE, -
               rd_process_GCPY=PROCEDURE, -
               rd_process_MABL=PROCEDURE, -
               rd_process_MACL=PROCEDURE, -
               rd_process_MGCO=PROCEDURE, -
               rd_process_MGEN=PROCEDURE, -
               rd_process_PROD=PROCEDURE, -
               rd_process_RIWC=PROCEDURE, -
               rd_process_CPTY=PROCEDURE, -
               rd_process_CPCT=PROCEDURE, -
               rd_process_CPCA=PROCEDURE, -
               rd_process_LRTT=PROCEDURE, -
               rd_process_LIMS=PROCEDURE, -
               rd_process_CRPR=PROCEDURE, -
               rd_process_CRCF=PROCEDURE, -
               rd_process_RERA=PROCEDURE, -
               rd_process_CRIC=PROCEDURE, -
               rd_process_BCRC=PROCEDURE, -
               rd_process_INCT=PROCEDURE, -
               rd_process_OUTY=PROCEDURE, -
               rd_process_PCAM=PROCEDURE, -
               rd_process_SCAT=PROCEDURE, -
               rd_process_COMT=PROCEDURE, -
               rd_process_INST=PROCEDURE, -
               rd_process_IPRG=PROCEDURE, -
               rd_process_LLSU=PROCEDURE, -
               rd_process_LLCU=PROCEDURE, -
               rd_process_MESS=PROCEDURE, -
               rd_process_USAC=PROCEDURE, -
               rd_process_URAL=PROCEDURE, -
               rd_process_AALL=PROCEDURE, -
               rd_process_UROL=PROCEDURE, -
               rd_process_ARPB=PROCEDURE, -
               rd_process_RTBT=PROCEDURE, -
               rd_process_RISG=PROCEDURE, -
               rd_process_TIBM=PROCEDURE, -
               rd_process_LIRS=PROCEDURE, -
               rd_process_LCRG=PROCEDURE, -
               rd_process_BUPU=PROCEDURE, -
               rd_process_CONT=PROCEDURE, -
               rd_process_ECAR=PROCEDURE, -
               rd_process_GECG=PROCEDURE, -
               rd_process_INCG=PROCEDURE, -
               rd_process_ISIC=PROCEDURE, -
               rd_process_ITNS=PROCEDURE, -
               rd_process_ITSN=PROCEDURE, -
               rd_process_RAAG=PROCEDURE, -
               rd_process_RASC=PROCEDURE, -
               rd_process_RECT=PROCEDURE, -
               rd_process_RELO=PROCEDURE, -
               rd_process_STET=PROCEDURE, -
               rd_process_STSY=PROCEDURE, -
               rd_process_UBUT=PROCEDURE, -
               rd_process_UCOT=PROCEDURE, -
               rd_process_INTY=PROCEDURE, -
               rd_process_INTS=PROCEDURE, -
               rd_process_UINC=PROCEDURE, -
               rd_process_NICI=PROCEDURE, -
               rd_process_UCPT=PROCEDURE, -
               rd_process_UELC=PROCEDURE, -
               rd_process_PERF=PROCEDURE, -
               rd_process_BUTY=PROCEDURE, -
               rd_process_COTY=PROCEDURE, -
               rd_process_INFI=PROCEDURE, -
               rd_process_INPI=PROCEDURE, -
               rd_process_CPRC=PROCEDURE, -
               rd_process_ABRT=PROCEDURE, -
               rd_process_UREG=PROCEDURE, -
               rd_process_IGCI=PROCEDURE, -
               rd_process_IGAC=PROCEDURE, -
               rd_process_LOCC=PROCEDURE, -
               rd_process_UACT=PROCEDURE, -
               rd_process_INAP=PROCEDURE, -
               rd_process_APPA=PROCEDURE, -
               rd_process_APPL=PROCEDURE, -
               rd_process_SUTY=PROCEDURE, -
               rd_process_LACO=PROCEDURE, -
               rd_process_COMP=PROCEDURE, -
               rd_process_COEN=PROCEDURE, -
               rd_process_RETY=PROCEDURE, -
               rd_process_ENRE=PROCEDURE, -
               rd_process_ATTR=PROCEDURE, -
               rd_process_ATAD=PROCEDURE, -
               rd_process_ACME=PROCEDURE, -
               rd_process_INAC=PROCEDURE, -
               rd_process_ACPR=PROCEDURE, -
               rd_process_ACOB=PROCEDURE, -
               rd_process_ACUS=PROCEDURE, -
               rd_process_ACRU=PROCEDURE, -
               rd_process_BURE=PROCEDURE, -
               rd_process_ELCO=PROCEDURE, -
               rd_process_DEPA=PROCEDURE, -
               rd_process_SNSC=PROCEDURE, -
               rd_process_BUSE=PROCEDURE, -
               rd_process_ENDA=PROCEDURE, -
               rd_process_ENTI=PROCEDURE, -
               rd_process_AMOR=PROCEDURE, -
               rd_process_BART=PROCEDURE, -
               rd_process_BUTL=PROCEDURE, -
               rd_process_CAFS=PROCEDURE, -
               rd_process_CAFT=PROCEDURE, -
               rd_process_COVT=PROCEDURE, -
               rd_process_COCA=PROCEDURE, -
               rd_process_DCBT=PROCEDURE, -
               rd_process_DCDC=PROCEDURE, -
               rd_process_DCTT=PROCEDURE, -
               rd_process_DELS=PROCEDURE, -
               rd_process_DELT=PROCEDURE, -
               rd_process_INDC=PROCEDURE, -
               rd_process_INTC=PROCEDURE, -
               rd_process_INTP=PROCEDURE, -
               rd_process_LIMC=PROCEDURE, -
               rd_process_LIMT=PROCEDURE, -
               rd_process_PERT=PROCEDURE, -
               rd_process_REVM=PROCEDURE, -
               rd_process_OBJT=PROCEDURE, -
               rd_process_CCAT=PROCEDURE, -
               rd_process_BALC=PROCEDURE, -
               rd_process_LMCL=PROCEDURE, -
               rd_process_LSCL=PROCEDURE, -
               rd_process_ICAT=PROCEDURE, -
               rd_process_OBUS=PROCEDURE, -
               rd_process_CCYS=PROCEDURE, -
               rd_process_GEBC=PROCEDURE, -
               rd_process_UPER=PROCEDURE, -
               rd_process_LICL=PROCEDURE, -
               rd_process_ICAL=PROCEDURE, -
               rd_process_REGN=PROCEDURE, -
               rd_process_LTCO=PROCEDURE, -
               rd_process_UCCY=PROCEDURE, -
               rd_process_EXRA=PROCEDURE, -
               rd_process_CTRY=PROCEDURE, -
               rd_process_BUCO=PROCEDURE, -
               rd_process_UCTR=PROCEDURE)
! [EOF]. This must remain the last line in the program !