Author |
Message
|
ydsk |
Posted: Mon Sep 18, 2006 8:42 pm Post subject: mqsicreatebroker on Solaris throwing ODBC error (Oracle9 DB) |
|
|
Chevalier
Joined: 23 May 2005 Posts: 410
|
Guys,
I searched the forum repeatedly but couldn't find an exact match. I found similar issues though. Appreciate any help.
We installed MQ v6, and MB v6 on a Solaris box. There is an Oracle9i database created on a remote Solaris box and all necessary permissions were granted by the DBA. The broker box has Oracle10g client installed.
TNSPING worked fine. SQLplus worked with the broker service-id ( the same id used for broker database too) from the broker box.
We created broker qmgr with the DLQ. The mqsicreatebroker command failed with an ODBC error after the setmqaut's:
mqsicreatebroker BKQMBRK -i wbrkadm -a broker -q BKQM -n grecdu03 -u wbrkadm -p broker -P 1420
--------------------------------------------------
.....
The setmqaut command completed successfully.
BIP2321E: Database error: ODBC return code '-1'.
The message broker encountered an error whilst executing a database operation. The ODBC return code was '-1'. See the following messages for information obtained from the database pertaining to this error.
Use the following messages to determine the cause of the error. This is likely to be such things as incorrect datasource or table names. Then correct either the database or message broker configuration.
BIP2322E: Database error: SQL State ''82''; Native Error Code '0'; Error Text ''523 80''.
The error has the following diagnostic information: SQL State ''82'' SQL Native Error Code '0' SQL Error Text ''523 80''
This message may be accompanied by other messages describing the effect on the message broker itself. Use the reason identified in this message with the accompanying messages to determine the cause of the error.
BIP8040E: Unable to connect to the database.
The database cannot be accessed with the userid and password that were specified when the broker was created.
Check that the database is running, that an ODBC connection has been created and that the userid and password pair specified for ODBC connect on the mqsicreate command are capable of being used to connect to the database using an ODBC connection. Also ensure that the database has a adequate number of database connections available for use.
--------------------------------------------------------------------------------
The TNS entry is:
grecdu03 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(HOST = grlab16 )
(PORT = 1521))
)
(CONNECT_DATA =
(SID = grecdu03)
)
)
-------------------------------------------------
ODBCINI, LD_LIBRARY_PATH, ORACLE_HOME, etc have been set properly in the mqsiprofile file. The entries in .odbc.ini are correct.
We aren't going to use 64-bit execution groups and we don't have any 64-bit applications. BUt I am not sure of the Oracle database instance used for broker is a 64-bit instance ( or does it matter ??)
Do I need to do anything more ?? I don't know what I am missing.
Appreciate any help.
Thanks.
ydsk. |
|
Back to top |
|
 |
PieterV |
Posted: Mon Sep 18, 2006 11:25 pm Post subject: |
|
|
Disciple
Joined: 04 Jan 2006 Posts: 164 Location: Belgium
|
1. is grecdu03 the datasourcename in .odbc.ini?
mqsicreatebroker command uses the datasourcename specified in .odbc.ini as database name, not the name you specify in tnsnames.ora
2. have a look at mqsi_setupdatabase:
mqsi_setupdatabase oracle9 $ORACLE_HOME |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Sep 19, 2006 2:08 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Also, make sure you are using the DataDirect ODBC driver for Oracle in your odbc.ini file. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ydsk |
Posted: Tue Sep 19, 2006 7:20 am Post subject: |
|
|
Chevalier
Joined: 23 May 2005 Posts: 410
|
Jeff,
Everything you suggested was already correctly entered and done.
The DBA said the Oracle database is 32-bit.
Based on suggestions in other posts I added $ORACLE_HOME/lib32 at the beginning of LD_LIBRARY_PATH environment variable in mqsiprofile file and mqsicreatebroker command worked fine.
Not sure why this isn't documented anywhere.
Thanks for the replies.
ydsk. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Sep 19, 2006 7:32 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
ydsk |
Posted: Tue Sep 19, 2006 8:12 pm Post subject: |
|
|
Chevalier
Joined: 23 May 2005 Posts: 410
|
Well, it says we need to add $ORACLE_HOME/lib32 to LD_LIBRARY_PATH for a 64-bit Oracle instance.
Our DBA says it's a 32-bit instance and all our applications are 32-bit too.
Hope Hursley guys have some explanation on this. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 20, 2006 1:31 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The 10G client is both 32 and 64 bit.
The default 10G libraries are 64-bit. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|