ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Problems ODBC WMB 7.0.0.1

Post new topic  Reply to topic Goto page 1, 2  Next
 Problems ODBC WMB 7.0.0.1 « View previous topic :: View next topic » 
Author Message
oli
PostPosted: Thu Sep 16, 2010 4:47 am    Post subject: Problems ODBC WMB 7.0.0.1 Reply with quote

Acolyte

Joined: 14 Jul 2006
Posts: 68
Location: Germany

Hi all,

I'm not very experienced with AIX and I have to set up the Broker to access a remote DB2 database using ODBC. I think I followed all the steps documented in the info center but when calling the
Code:
mqsicvp broker_name

or starting the broker the following error is shown in the syslog:
Code:
Sep 16 11:26:12 s96ia5a1 WebSphere Broker v7001[520220]: (XZ0ZBRK1)[1]BIP2801E: Unable to load implementation file 'libbipodbc.a(odbc.so)', rc= 0509-022 Cannot load module /usr/mqsi/lib/libbipodbc.a(odbc.so).: XZ0ZBRK1.mqsicvp: /build/S700_P/src/DataFlowEngine/MessageServices/rios_aix_4/ImbOdbcDriverManagerWrapper.cpp: 97: ImbOdbcDriverManagerWrapper::ImbOdbcDriverManagerWrapper: :


Can anyone help?

Thanks,

Oli
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Sep 16, 2010 5:13 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

So Broker v7 doesn't include any database clients. It includes the necessary ODBC libraries to access a database client, but it does not include the actual client itself.

In order to access DB2 through ODBC from Broker v7, you need to install the DB2 client and catalog the remote database in it. Then you can create an ODBC DSN that points to that remote database.

Have you done that?
Back to top
View user's profile Send private message
oli
PostPosted: Thu Sep 16, 2010 6:17 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jul 2006
Posts: 68
Location: Germany

Hi mqjeff,

surely I installed the DB2 runtime client and cataloged the remote node and the database. I also can access the remote database using "db2 connect to ...". The odbc.ini seems to be correct, the ODBCINI environment variable is set and the LIBPATH is - hopefully correctly - set. I also tried to call the db2profile before executing the mqsicvp but with no success.

Database is DB2 9.5.4a.

Any ideas?

Thanks, Oli
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Sep 16, 2010 7:01 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

you do need to call the db2profile, you should add it to the .profile for the broker service user.

The fact that running mqsicvp doesn't work either suggests something may in fact be broken with your installation.

Check the contents of /opt/IBM/mqsi/7.0/lib and /opt/IBM/mqsi/7.0/ODBC/v6.0/lib.

And probably, open a PMR. Take some time to do some basic mustgather first. http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg21209857
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Thu Sep 16, 2010 7:11 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi,
mqjeff wrote:
In order to access DB2 through ODBC from Broker v7, you need to install the DB2 client and catalog the remote database in it. Then you can create an ODBC DSN that points to that remote database.

Have you done that?
Jeff, are you certain about this ? Just last week my services team integrated broker to a remote Oracle db without an Oracle client.

I'd always been installing the respective clients assuming the jars were required, but I was told that the ODBC driver with broker has everything needed...and it's actually working...

I even searched the infocenter, but I couldn't find a statement which said clients are needed.

Regards.
Back to top
View user's profile Send private message Send e-mail
Gaya3
PostPosted: Thu Sep 16, 2010 7:18 am    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

elvis_gn wrote:
Hi,
mqjeff wrote:
In order to access DB2 through ODBC from Broker v7, you need to install the DB2 client and catalog the remote database in it. Then you can create an ODBC DSN that points to that remote database.

Have you done that?
Jeff, are you certain about this ? Just last week my services team integrated broker to a remote Oracle db without an Oracle client.

I'd always been installing the respective clients assuming the jars were required, but I was told that the ODBC driver with broker has everything needed...and it's actually working...

I even searched the infocenter, but I couldn't find a statement which said clients are needed.

Regards.


i was thinking it required client libraries to communicate with server DBs

i will be so interested to know how the service team made it for your project.

Kindly share those information here.
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Sep 16, 2010 8:13 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

elvis_gn wrote:
mqjeff wrote:
In order to access DB2 through ODBC from Broker v7, you need to install the DB2 client and catalog the remote database in it. Then you can create an ODBC DSN that points to that remote database.

Have you done that?
Jeff, are you certain about this ?


I'm always certain.

elvis_gn wrote:
Just last week my services team integrated broker to a remote Oracle db without an Oracle client.


Oracle != DB2.

The DataDirect v6 ODBC driver for Oracle is a wire-level driver that does not require a local client. This has been true of the 64-bit ODBC drivers in earlier releases of Broker/DataDirect drivers for Oracle as well.

But you may want a local client if you want to do things like use a TNSNAMES.ORA file.

The DB2 drivers are the IBM DB2 ODBC drivers which are not a wire level driver, AFAIK.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Thu Sep 16, 2010 9:37 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi all,
mqjeff wrote:
elvis_gn wrote:
mqjeff wrote:
In order to access DB2 through ODBC from Broker v7, you need to install the DB2 client and catalog the remote database in it. Then you can create an ODBC DSN that points to that remote database.

Have you done that?
Jeff, are you certain about this ?

I'm always certain.
Showoff

mqjeff wrote:
The DataDirect v6 ODBC driver for Oracle is a wire-level driver that does not require a local client. This has been true of the 64-bit ODBC drivers in earlier releases of Broker/DataDirect drivers for Oracle as well.

But you may want a local client if you want to do things like use a TNSNAMES.ORA file.

The DB2 drivers are the IBM DB2 ODBC drivers which are not a wire level driver, AFAIK.
Hmm...what benefit would a tnsnames give me then ? I can define an alias in the odbc64.ini itself...tns lets me ping or execute queries outside the broker...there are some HA parameters in tns...what else ?

Regards.
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Thu Sep 16, 2010 9:42 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

elvis_gn wrote:
Hmm...what benefit would a tnsnames give me then ? I can define an alias in the odbc64.ini itself...tns lets me ping or execute queries outside the broker...there are some HA parameters in tns...what else ?


Your oracle admin may be happier with using it than with using Broker stuff. There may be better or different controls with RAC connection definitions...

Back to top
View user's profile Send private message
oli
PostPosted: Thu Sep 16, 2010 10:19 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jul 2006
Posts: 68
Location: Germany

Hi mqjeff,

back to my original problem

I cannot see any problems in my lib directories. The libbipodbc.a and the odbc.so are there as well as the libdb2Wrapper.so that is part of the odbc.ini file. No idea what's going wrong here. So I will do a completely new installation and try again.

Maybe anybody else has another idea?

Thanks,

Oli
Back to top
View user's profile Send private message
oli
PostPosted: Tue Sep 21, 2010 7:08 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jul 2006
Posts: 68
Location: Germany

Hi,

I still have problems using ODBC on AIX even after a new installation.

I'm sure, I did all the steps for using an ODBC Datasource with my broker but mqsicvp always failes. I have a user "mqsibrk" which is member of "mqsibrkrs". In <broker_working_dir>/common/profiles I created a script that calls the db2profile. That seems to work fine. When I'm logged in with the "mqsibrk" user I can connect to my remote DB using "db2 connect to LOGDB user mqsibrk using <db_password>":
Code:
   Database Connection Information

 Database server        = DB2/AIX64 9.5.4
 SQL authorization ID   = MQSIBRK
 Local database alias   = LOGDB


I copied the odbc.in to /home/mqsibrk/odbc and modified it:

Code:

;#######################################
;#### List of data sources stanza ######
;#######################################

[ODBC Data Sources]
LOGDB=IBM DB2 ODBC Driver

;###########################################
;###### Individual data source stanzas #####
;###########################################

;# DB2 stanza
[LOGDB]
DRIVER=libdb2Wrapper.so
Description=DB2DB DB2 ODBC Database
Database=LOGDB

;##########################################
;###### Mandatory information stanza ######
;##########################################

[ODBC]
;# To turn on ODBC trace set Trace=1
Trace=1
TraceOptions=3
TraceFile=/install/odbctrace.out
TraceDll=/opt/IBM/mqsi/7.0/ODBC/V6.0/lib/odbctrac.so
InstallDir=/opt/IBM/mqsi/7.0/ODBC/V6.0
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8


The ODBCINI environment variable points to /home/mqsibrk/odbc/odbc.ini
Code:

bash-3.00$ echo $ODBCINI
/home/mqsibrk/odbc/odbc.ini


LIBPATH is set to
Code:

bash-3.00$ echo $LIBPATH
/opt/IBM/mqsi/7.0/jre16/lib/ppc64:/opt/IBM/mqsi/7.0/jre16/lib/ppc64/classic:/usr/mqm/java/lib64:/opt/IBM/mqsi/7.0/xml4c/lib:/usr/mqm/lib64:/opt/IBM/mqsi/7.0/ODBC/V6.0/lib:/opt/IBM/mqsi/7.0/xlxpc/lib:/opt/IBM/mqsi/7.0/lib:/opt/IBM/mqsi/7.0/bin::/home/db2inst1/sqllib/lib64


Finally I used the mqsisetdbparms command in the following way:
Code:

bash-3.00$ mqsisetdbparms XZ0Z701I -n LOGDB -u mqsibrk

Enter password for user ID
Retype password for user ID.
BIP8071I: Successful command completion.


The execution of mqsicvp in one of the following ways:
Code:

mqsicvp XZ0Z701I -n LOGDB
or
mqsicvp -n LOGDB -u mqsibrk -p <db_password>


produces the following output:

Code:

BIP2393E: Database error: ODBC return code '-1' from data source ''LOGDB'' using ODBC driver manager ''libbipodbc.a(odbc.so)''.
The broker received an error when processing a database operation. The ODBC return code was '-1'. See the following messages for information obtained from the database about this error.
Use the following messages to determine the cause of the error. Typical problems are an incorrect data source, or table names. Correct either the database or the broker configuration.
BIP2322E: Database error: SQL State ''IM002''; Native Error Code '0'; Error Text ''[DataDirect][ODBC lib] System information file not found. Please check the ODBCINI environment variable.''.
The error has the following diagnostic information:     SQL State             ''IM002''     SQL Native Error Code '0'     SQL Error Text        ''[DataDirect][ODBC lib] System information file not found. Please check the ODBCINI environment variable.''
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 specified user Id and password pair.
- Check that the database is running.
 - Check that the database has an adequate number of database connections available for use.
 - On Windows, check that an ODBC connection has been created.
 - On systems that use $ODBCINI, check that the file pointed to by $ODBCINI has been correctly updated.
 - On z/OS check the BIPDSNAO member of the component's dataset, and check the DB2 64bit ODBC driver (DSNAO64C) is in the STEPLIB.
 - Use mqsisetdbparms to set the password to the correct value and try again.


Any ideas what's going wrong here?

Thanks,

Oli
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Sep 21, 2010 7:13 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

did you EXPORT the ODBCINI variable, or just set it?
Back to top
View user's profile Send private message
smdavies99
PostPosted: Tue Sep 21, 2010 7:47 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

i was facing a similar problem as you.

The mqsicvp command was returning an error. However the BIP messages seemed to mask the real problem. i.e. which one of the list of possible probles was it?

So I turned on ODBC trace in the ODBC ini file.
This pointed me at the real reason for the problem. When fixed, the mqsicvp command and thus broker itself was able to connect correctly.

Don't for get to turn it off though...
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Sep 21, 2010 8:18 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

smdavies99 wrote:
i was facing a similar problem as you.

The mqsicvp command was returning an error. However the BIP messages seemed to mask the real problem. i.e. which one of the list of possible probles was it?

So I turned on ODBC trace in the ODBC ini file.
This pointed me at the real reason for the problem. When fixed, the mqsicvp command and thus broker itself was able to connect correctly.

Don't for get to turn it off though...


Not to quibble, and certainly enabling ODBC tracing can be helpful...

But if it's failing to find the ODBC.INI file in the first place, then you can't use the ODBC.INI file to enable ODBC tracing....
Back to top
View user's profile Send private message
oli
PostPosted: Tue Sep 21, 2010 11:39 am    Post subject: Reply with quote

Acolyte

Joined: 14 Jul 2006
Posts: 68
Location: Germany

Hi again!

@mqjeff
I simply set the ODBCINI environment variable using
Code:
ODBCINI=/home/mqsibrk/odbc/odbc.ini

Do I have to use
Code:
export ODBCINI

additionally?

@smdavies99
ODBC trace should be enabled but maybe the odbc.ini is not found due to the missing export statement.

I will try tomorrow to export the variable

Thanks,

Oli
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Problems ODBC WMB 7.0.0.1
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.