To enable a broker to connect to a database,
you must define the ODBC data source name (DSN) for the database.
Important: Before you can create a broker
on HP-UX (Itanium platform), you must define the 64-bit ODBC
data source name (DSN) that the broker will use to connect to the broker database.
You
must define 64-bit DSNs in the following situations:
- On HP-UX (Itanium platform), the broker is a 64-bit
application so all database connections are 64-bit and you must, therefore,
define a 64-bit DSN for the broker database.
- On any UNIX platform, if a message flow application is deployed to a 64-bit
execution group, you must define a 64-bit DSN for the broker database. If you use a 64-bit execution group, the broker
database must also be 64-bit.
If the message flow application is deployed to a 32-bit execution
group, you must enable a 32-bit
connection to the broker database; see Connecting to a database from Linux and UNIX systems.
On
UNIX, there is an ODBC Driver Manager but no graphical application to help
you to configure the ODBC DSNs. To enable a 64-bit ODBC connection, you must
define each database as a DSN in a plain text file called odbc64.ini on the
computer that hosts the broker.
To configure a 64-bit DSN for a database:
- Copy the odbc64.ini sample file that is supplied in the DD64 directory
of your WebSphere
Event Broker installation to a location
of your choice; for example, to your user ID's home directory. This
enables each broker service user ID on the system to use its own DSN definitions.
The
sample file is shown in odbc64.ini sample file.
- Ensure that the odbc64.ini file has file ownership of mqm:mqbrkrs and
has the same permissions as the supplied odbc64.ini sample file.
- Set the ODBCINI64 environment variable to point to your odbc64.ini
file, specifying a full path and file name. If you have already
run the mqsiprofile script, the ODBCINI64 environment variable is set to a
default value. In this case, just change the value of the variable so that
it points at the location of your odbc64.ini file, ensuring that the fully-qualified
file path is correct.
- On all UNIX platforms except HP-UX (Itanium platform),
set the library search path environment variable to show the location of the
32-bit libraries for the database manager that you are using.
For more information about
the library search path, see the database manager's documentation.
The
library search path environment variable depends to your platform:
- On Solaris and Linux
(x86 platform):
LD_LIBRARY_PATH
- On HP-UX: SHLIB_PATH
- On AIX: LIBPATH
- If you are connecting to a 64-bit DB2 database instance, add DB2
instance directory/sqllib/lib32 to the start of the library
search path environment variable.
For example, on Solaris:
export LD_LIBRARY_PATH=DB2 instance directory/sqllib/lib32:$LD_LIBRARY_PATH
This step is necessary because
some parts of the broker must see a 32-bit environment. Completing this step,
however, might prevent you from running DB2 commands in this environment shell;
to enter DB2 commands, start a separate environment shell and run db2profile for
the relevant database instance.
- If you are using a 64-bit Oracle instance, add $ORACLE_HOME/lib32 to
the start of the library search path environment variable.
For
example, on HP-UX:
export SHLIB_PATH=$ORACLE_HOME/lib32:$SHLIB_PATH
This
step is necessary because some parts of the broker must see a 32-bit environment.
- If you are using a DB2 instance, set the environment variable MQSI_LIBPATH64 to
include the regular 64-bit database libraries. For example,
on AIX:
export MQSI_LIBPATH64=DB2_instance_directory/sqllib/lib64:$LIBPATH
- If you are using a DB2 database instance that is installed on AIX
and a single process will make more than 10 connections using shared memory,
use TCP/IP mode to connect to the database instance. For detailed
instructions on how to do this, see DB2 error message SQL1224N is issued when you connect to DB2.
On
AIX, a single process can make a maximum of 10 connections using shared memory
to a DB2 database. Therefore, if you deploy more than one or two message flows
at the same time, you might see connection failures characterized by the DB2
error message SQL1224N. The connection errors are reported in the system log
from the broker's execution group.
- Edit the final stanza in the odbc64.ini file, the [ODBC] stanza,
to specify the location of the ODBC Driver Manager and to control tracing. The exact details in the stanza depend on the platform.
To
ensure that you edit the correct odbc64.ini file, you can open the file in
the vi text editor using the following command:
vi $ODBCINI64
- In InstallDir, add the WebSphere
Event Broker installation
location to complete the fully qualified path to the ODBC directory shown
in the sample odbc64.ini file. You must specify this value, otherwise
the ODBC definition will not work.
- In Trace, set the value to 0;
if your IBM Service representative asks you to enable ODBC trace, set the
value to 1.
- In TraceFile, type the fully-qualified
path and file name to which the ODBC trace is written. Trace files
can become quite large; specify a directory with plenty of free disk space.
- In TraceDll, add the WebSphere
Event Broker installation
location to complete the fully qualified path to the ODBC trace DLL shown
in the sample odbc64.ini file.
- Accept the default values shown in the sample odbc64.ini file
for all the other entries in the stanza.
For example, on
AIX:
[ODBC]
Trace=0
TraceFile=<A Directory with plenty of free space>/odbctrace.out
TraceDll=<Your install directory>/DD64/lib/odbctrac.so
InstallDir=<Your install directory>/DD64
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8
- Edit the first stanza in the odbc64.ini file, the [ODBC Data Sources] stanza,
to list the DSN of each database. For example:
[ODBC Data Sources]
WBRKBKDB=IBM DB2 ODBC Driver
MYDB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 5.0 64bit
Oracle Wire Protocol
SYBASEDB=DataDirect
5.0 64bit Sybase Wire Protocol
SQLSERVERDB=DataDirect
5.0 64bit SQL Server Wire Protocol
The DB2 database called WBRKBKDB in the example is the broker database
that is created by the Default Configuration wizard. If you are not using
the Default Configuration, you do not need to list this database in the odbc64.ini
file.List all of your DSNs in your odbc64.ini file, regardless of the database
manager. Multiple DSNs can resolve to the same database.
- For each database that you listed in the [ODBC Data Sources] stanza,
create a stanza in the odbc64.ini file after the [ODBC Data Sources] stanza.
The entries in the stanza depend on the database manager. There are also slight
differences between operating systems, for example the file paths to the drivers.
For a DB2 database instance:
- In Driver, accept the value shown in the
sample odbc64.ini file.
- In Description, type a meaningful description
of the database. This is a text field for information only and
does not affect the connection.
- In Database, type the DB2 alias. The data source name must be the same as the database alias name. If
you are using a remote DB2 database, you must set up your client-server connection
to resolve this alias to the correct database. For more information, see the
DB2 documentation.
For example, on AIX:
[MYDB]
Driver=libdb2Wrapper64.so
Description=MYDB DB2 ODBC Database
Database=MYDB
For an Oracle database:- In Driver, add the WebSphere
Event Broker installation
location to complete the fully qualified path to the driver shown in the sample
.odbc64.ini file.
- In Description, type a meaningful description
of the database. This is a text field for information only and
does not affect the connection.
- In HostName, type the IP address of the
instance on which the Oracle database is running.
- In PortNumber, type the port number on
which the Oracle database is listening.
- In SID, type the Oracle System Identifier
of the database as known on the Oracle database server.
- Accept the default values shown in the sample odbc64.ini file
for all the other entries in the stanza.
For example, on
AIX:
[ORACLEDB]
Driver=<Your install directory>/DD64/lib/UKora20.so
Description=DataDirect 5.0 Oracle Wire Protocol
HostName=<Your Oracle Server Machine Name>
PortNumber=<Port on which Oracle is listening on HostName>
SID=<Your Oracle SID>
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
For a Sybase database:- In Driver, add the WebSphere
Event Broker installation
location to complete the fully qualified path to the driver shown in the sample
odbc64.ini file.
- In Description, type a meaningful description
of the database. This is a text field for information only and
does not affect the connection.
- In Database, type the name of the database
to which you want to connect by default. If you do not specify
a value, the default is the database defined by your system administrator
for each user.
- In NetworkAddress, type the network address
of your Sybase ASE server (this is required for local and remote databases). Specify an IP address as follows:
<servername or IP address>,<portnumber>
For example: Sybaseserver,5000. You can also specify
the IP address directly, for example 199.226.224.34,5000.
You can find the port number in the Sybase interfaces file which is named interfaces on
UNIX and Linux.
- Accept the default values shown in the sample odbc64.ini file
for all the other entries in the stanza.
For example, on
AIX:
[SYBASEDB]
Driver=<Your install directory>/DD64/lib/UKase20.so
Description=DataDirect 5.0 Sybase Wire Protocol
Database=<Your Database Name>
ApplicationsUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=<YourServerName>,<YourPortNumber>
SelectUserName=1
For an SQLServer database:- In Driver, add the WebSphere
Event Broker installation
location to complete the fully qualified path to the driver shown in the sample
odbc64.ini file.
- In Description, type a meaningful description
of the database. This is a text field for information only and
does not affect the connection.
- In Address, the network address of your
database server (this is required for local and remote databases). Specify
an IP address as follows:
<servername or IP address>,<portnumber>
- In Database, type the name of the database
to which you want to connect by default. If you do not specify
a value, the default is the database defined by your system administrator
for each user.
- Accept the default values shown in the sample odbc64.ini file
for all the other entries in the stanza.
For example, on
AIX:
[SQLSERVERDB]
Driver=<Your install directory>/DD64/lib/UKmsss20.so
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer server port>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
- Ensure that you have edited all three parts of the odbc64.ini
file:
- The [ODBC Data Source] stanza at the top of the odbc64.ini file.
- A stanza for each data source.
- The [ODBC] stanza at the end of the odbc64.ini file.
If you do not configure all three parts correctly, the ODBC DSNs will
not work and the broker will not be able to connect to the database.
You have now configured 64-bit ODBC database
connections on UNIX.
Now, you must configure the environment for
issuing console commands, and for running the broker, so that it can access
the required database libraries. For more information, see
Setting your environment to access databases.