Unable to browse Sybase server in Database Navigator

  • 7005292
  • 03-Feb-2010
  • 26-Jun-2012

Environment

Business Service Manager 4.7

Situation

BDI Editor connects to Database but the user cannot browse the Tables or View within the Database Navigator.

Another symptom after upgrade, starting the adapter results in the following errors:
 
2010-02-03 17:42:13,420 WARN Integration.formulabdi."Adapter"DefaultControl - Unable to create object key from columns.
java.lang.IllegalArgumentException: Can not create composite object key for type: _"query"; a key column value is NULL

Resolution

Reported to Engineering.

Workaround:
Use the JTDS driver rather than the manufacturer provided Sybase drivers.

The issue is to setup a connection (from BDI editor) using the Generic
JDBC connection option.  Use the following:
 
In the Editor when selecting database Connection:
1.  Select "Generic JDBC Driver"
2.  JDBC Driver = net.sourceforge.jtds.jdbc.Driver
3.  JDBC URL = jdbc:jtds:sybase://<host>:<port>/<dbname>
4.  Enter User Name for DB
5.  Enter Password for DB

To set the Adapter to use the correct Driver:
1.  In the Definition Navigator select the Adapter:
2.  In the Adapter window select Database
3.  Set the JDBC Driver: net.sourceforge.jtds.jdbc.Driver
4.  Set the JDBC URL: jdbc:jtds:sybase://<host>:<port>/<dbname>
5.  Set the Timestamp Query:  select current_date()  (this is an example)
6.  After setting up your definition Save/Deploy
 
The Editor and Adapter should now successfully connect to the Sybase database.



Additional Information

2010-02-03 17:42:13,420 WARN Integration.formulabdi."Adapter"DefaultControl - Unable to create object key from columns.
java.lang.IllegalArgumentException: Can not create composite object key for type: _"query"; a key column value is NULL
        at com.mosol.integration.bdi.QueryResultHandler$BDICompositeObjectKey.<init>(QueryResultHandler.java:1995)
        at com.mosol.integration.bdi.QueryResultHandler.toObjectKey(QueryResultHandler.java:1317)
        at com.mosol.integration.bdi.QueryResultHandler.processDefinition(QueryResultHandler.java:430)
        at com.mosol.integration.bdi.QueryResultHandler.processResultSet(QueryResultHandler.java:312)
        at com.mosol.integration.bdi.QueryResultHandler.resultAvailable(QueryResultHandler.java:127)
        at com.mosol.integration.bdi.BDIControl.fireQueryResults(BDIControl.java:803)
        at com.mosol.integration.bdi.BDIControl$4.run(BDIControl.java:731)
        at com.mosol.util.ThreadPool$TaskThread.execRunnable(ThreadPool.java:1041)
        at com.mosol.util.ThreadPool$TaskThread.run(ThreadPool.java:1088)
2010-02-03 17:42:13,420 WARN Integration.formulabdi."Adapter".DefaultControl.QueryHandler - Failed to process column metadata for column null
java.sql.SQLException: [ Unsupported Type ]
        at com.mosol.util.db.JDBCTypeSupport.toValue(JDBCTypeSupport.java:147)
        at com.mosol.integration.bdi.QueryResultHandler.toProperties(QueryResultHandler.java:1210)
        at com.mosol.integration.bdi.QueryResultHandler.processDefinition(QueryResultHandler.java:426)
        at com.mosol.integration.bdi.QueryResultHandler.processResultSet(QueryResultHandler.java:312)
        at com.mosol.integration.bdi.QueryResultHandler.resultAvailable(QueryResultHandler.java:127)
        at com.mosol.integration.bdi.BDIControl.fireQueryResults(BDIControl.java:803)
        at com.mosol.integration.bdi.BDIControl$4.run(BDIControl.java:731)
        at com.mosol.util.ThreadPool$TaskThread.execRunnable(ThreadPool.java:1041)
        at com.mosol.util.ThreadPool$TaskThread.run(ThreadPool.java:1088)
2010-02-03 17:42:13,420 INFO Integration.formulabdi."Adapter".DefaultControl - Occurred 1 times - Unable to create object key from columns.