cancel
Showing results for 
Search instead for 
Did you mean: 

Error in external database interface QXDA

Former Member
0 Kudos

Dear All,

While executing tcode DB02 or ST04 im getting error as "Error in external database interface QXDA". As per sap note 863623 we have changed the password for SIDnn and restarted system also executing command STARTSAP *DB successfully.

But the error still shown. Any advice

Best Regards,

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Try STRTCPSVR SERVER(*EDRSQL) instead of STARTSAP *DB and check the joblog of your interactive job as well as the joblog of the QXDAEDRSL job for potential error messages. If you cannot find a QXDAEDRSQL job, check with DSPLOG whether it got started and ended right away without leaving a joblog. If that is the case, use the commands CHGJOBD JOBD(QSYS/QXDAJOBD) LOG(4 00 SECLVL) and CHGJOB JOB() LOG(4 00 SECLVL), then enter STRTCPSVR SERVER(EDRSQL) again (this time you should get a joblog).

Kind regards,

Christian Bartels.

Former Member
0 Kudos

Dear Christian,

By executing STRTCPSVR SERVER(*EDRSQL) job QXDAEDRSQL was started. It was great

But with most SAP message it was told to start job QXDAEDRSQL with STARTSAP DB . Since im new to IBMi can you advice with command STRTCPSVR SERVER(EDRSQL) and STARTSAP DB* difference

Thanks and Regards,

Answers (2)

Answers (2)

0 Kudos

STARTSAP SID(DB) is submitting a job named STRRMTDB that is supposed to execute the command STRTCPSVR SERVER(EDRSQL). It uses the defaults of the SBMJOB command: First look at the job description that is defined in the user profile that executed the command - for TCP/IP. Right-click on the EDRSQL (Extended Dynamic Remote SQL) server and select Properties, then check-mark "Start when TCP/IP is started".

In the future, SAP is going to switch to "DBSL Direct Drive für DB2 für IBM i" (see SAP Note 1257635). With that, STRTCPSVR SERVER(EDRSQL) will no longer be necessary, but STARTSAP SID(DB) will be used. Hence it would be helpful to understand why that one did not work in your case.

Kind regards,

Christian Bartels.

0 Kudos

To get more details about the problem, execute report RSTRC000 in transaction SE38 and lock a work process, then execute transaction DB02 or ST04 again. After receiving the error, look at the developer trace file (ST11/AL11) of the work process that you have locked. You should see an error message like " *** ERROR => AS400_API (APICODE <ac>) failed with SY-SUBRC = <rc>" and maybe a second error message. If you post these, I have a starting point to look for known problems.

Please check, if a job named QXDAEDRSQL is active in subsystem QSYSWRK, if it has any messages in the joblog, and if there are jobs name QXDARECVR active, or if they ended and left a joblog. Did you verify that user profile SIDnn is *ENABLED (not *DISABLED)? You could also try to signon with SIDnn and the password that you have set - its initial menu is set to *SIGNOFF, so you will be disconnected immediately, but if something is wrong with the current library or initial program, you would notice.

Kind regards,

Christian Bartels.

Former Member
0 Kudos

Dear Christian,

Thanks for your reply, while checking with command wrkactjob couldnt find job QXDAEDRSQL. when i start job with STARTSAP DB* command is executed without any error.

But still we couldnt find anyjob QXDAEDRSQL active.

as per your initial recommendation here are the logs from st11

M *** ERROR => AS400_API (APICODE 25) failed with SY-SUBRC = 3 [abas4api.c 1548]

M *** ERROR => AS400_API unable to connect to 'IDES' [dbsldb4ccm.c 593]

B

B Tue Jul 20 12:51:54 2010

B create_con (con_name=R/3*INACT_PACK)

B New connection 1 created

C Secondary DB connect, Service connection

C *** ERROR => CPE3025 occured. Refer to job log.

[dbsldb4dbi.c 474]

C *** ERROR => === Secondary DB connect FAILED! ===

[dbsldb4.cpp 15642]

C *** ERROR => === Connection settings ===

[dbsldb4.cpp 17698]

C *** ERROR => connected = FALSE

[dbsldb4.cpp 17699]

C *** ERROR => con_hdl = 1

[dbsldb4.cpp 17700]

C *** ERROR => db_handle = 0

[dbsldb4.cpp 17701]

C *** ERROR => dbhost = IDES

[dbsldb4.cpp 17702]

C *** ERROR => dbhostport =

[dbsldb4.cpp 17703]

C *** ERROR => rdbname =

[dbsldb4.cpp 17704]

C *** ERROR => dblib = R3IDODATA

[dbsldb4.cpp 17705]

C *** ERROR => r3sysle_changed = FALSE

[dbsldb4.cpp 17708]

C *** ERROR => query_compl_reval = O

[dbsldb4.cpp 17709]

C *** ERROR => dbconnecttype = U

[dbsldb4.cpp 17710]

C *** ERROR => user = IDO00

[dbsldb4.cpp 17711]

C *** ERROR => qaqqinilib = Default (QUSRSYS)

[dbsldb4.cpp 17715]

C *** ERROR => dbjobname =

C *** ERROR => rmtexelib = SAPIDOUC

[dbsldb4.cpp 17719]

C *** ERROR => parallel_alter_tables = *OFF

[dbsldb4.cpp 17722]

C *** ERROR => ===========================

[dbsldb4.cpp 17741]

B dbtran ERROR LOG (hdl_dbsl_error): DbSl 'PRE'

B RSLT: {dbsl=29, tran=16384}

B FHDR: {tab='PAKDATBUF', fcode=194, mode=2, bpb=0, dbcnt=0, crsr=0,

B hold=0, keep=1, xfer=0, pkg=0, upto=0, init:b=0,

B init:p=(nil), init:#=0, wa:p=(nil), wa:#=0}

B dbtran ERROR LOG (hdl_dbsl_error): DbSl 'PRE'

B STMT:

B CRSR: {tab='', id=0, hold=0, prop=0x1000, max.in@0=0, fae:blk=0,

B con:id=3000001, con:vndr=2, val=2,

B key:#=3, xfer=0, xin:#=19, row:#=0, upto=0, wa:p=0x7000000b8454240}

A TH VERBOSE LEVEL FULL

A ** RABAX: level LEV_RX_PXA_RELEASE_MTX entered.

A ** RABAX: level LEV_RX_PXA_RELEASE_MTX completed.

A ** RABAX: level LEV_RX_COVERAGE_ANALYSER entered.

A ** RABAX: level LEV_RX_COVERAGE_ANALYSER completed.

A ** RABAX: level LEV_RX_ROLLBACK entered.

A ** RABAX: level LEV_RX_ROLLBACK completed.

A ** RABAX: level LEV_RX_DB_ALIVE entered.

A ** RABAX: level LEV_RX_DB_ALIVE completed.

A ** RABAX: level LEV_RX_HOOKS entered.

A ** RABAX: level LEV_RX_HOOKS completed.

A ** RABAX: level LEV_RX_STANDARD entered.

A ** RABAX: level LEV_RX_STANDARD completed.

A ** RABAX: level LEV_RX_STOR_VALUES entered.

A Error in module RSQL of the database interface..