Creating or overriding custom JDBC connections in BSM

  • 7003533
  • 15-Jun-2009
  • 11-Jul-2012

Environment

Business Experience Manager 4.0
Business Experience Manager 4.5
Business Service Level Management 4.0
Business Service Level Management 4.5
Business Service Manager 4.0
Business Service Manager 4.5

Situation

You need to use JDBC drivers that are not included with product when using the business data integrator (BDI) or some adapters. Database definitions have an "other" tab available for using a custom JDBC drivers, so these instructions do not apply.

An example would be connecting to a MySQL database through BDI.

Resolution

The key property when overriding the default drivers is "database type". You need to replace the "database type", mysql, oracle, sybase, etc, with a specifically formatted string shown below.

driver class|url|connection test query

The "|"s are required. Here is an example string for MySQL.

com.mysql.jdbc.Driver|jdbc:mysql://dbserver.novell.com:3001/testdb|select sysdate()

If the JDBC drivers you are using are not covered in the additional notes, you will have to find out three pieces of information. The class name of the driver, the connection url format and a connection test query. The connection test query needs to be a low impact, quick return statement, because it will be run often to verify the connection to the database.

Additional Information

Microsoft SQL Server Example for INET Driver 
  Syntax : net.sourceforge.jtds.jdbc.Driver|jdbc:jtds:sqlserver://<db server name>:<port>/<database name>|select getDate()

  Example: net.sourceforge.jtds.jdbc.Driver|jdbc:jtds:sqlserver://localhost:1433/BDI|select getDate()

Oracle Native Drivers
  Syntax : oracle.jdbc.driver.OracleDriver|jdbc:oracle:thin:@<database server name>:<database server port>:<database name>|select sysdate from dual
  Example: oracle.jdbc.driver.OracleDriver|jdbc:oracle:thin:@oracledbsvr:1521:formula|select sysdate from dual

Sybase Example for INET Driver
 Syntax : com.inet.syb.SybDriver|jdbc:inetsyb:<database server name>:<database server port>|select getDate()

 Example: com.inet.syb.SybDriver|jdbc:inetsyb:sybasedbsvr:4100|select getDate()

Mysql Example for JDBC Driver
 Syntax: com.mysql.jdbc.Driver|jdbc:mysql://host:port/databasename|select sysdate()

 Example: com.mysql.jdbc.Driver|jdbc:mysql://fred:3001/freddb|select sysdate()

Postgres Example for JDBC Driver
  Syntax: org.postgresql.Driver|jdbc:postgresql://host:port/database|select now()

  Example: org.postgresql.Driver|jdbc:postgresql://fred:5432/freddb|select now()

Teradata Example for JDBC Driver
  Syntax: com.ncr.teradata.TeraDriver|jdbc:teradata://host{:port}/database|select getDate()
  Example: com.ncr.teradata.TeraDriver|jdbc:teradata://localhost/mydb|select getDate()

AS400 Example
  Syntax: com.ibm.as400.access.AS400JDBCDriver|dbc:as400://{host:port}/{database}|select current timestamp from sysibm.sysdummy1

  Example: com.ibm.as400.access.AS400JDBCDriver|dbc:as400://yourAS/400name|select current timestamp from sysibm.sysdummy1