here's a strange one I ran into this week. I have a working IDOC-to-JDBC interface in a PI 7.0 system with 1 server node. After I added a second server node to the instance, lots of messages fail. To be exact: Communication Channel monitor shows quite clearly that all the messages processed by server0 are successful, and all the messages processed by server1 fail.
DefaultTrace excerpt (changed the connection string to ensure privacy):
#com.sap.aii.adapter.jdbc.JDBC2XI##com.sap.aii.adapter.jdbc.JDBC2XI.handleDBConnectException(Exception)#J2EE_GUEST#0##n/a##6cde29c3843f11e1c74b00144f8b0e27#XI JDBC2XI[CCO_JDBC_PowerPlant_Inbound/BS_pub_PowerPlant_Inbound/]_11421##0#0#Error#1#/Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/JDBC#Plain###Accessing database connection 'jdbc:oracle:thin:***;db-qa:1521/db_qa.db.mydomain.com' failed: com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection : : SQLException: Io exception: Invalid connection string format, a valid format is: "host:port:sid" #
First of all, there's nothing wrong with the connection string, since it works fine on server0. However, it got me thinking that maybe server1 is using the wrong JDBC driver... But I made sure the parameter ConfigurationManager -> rdbms.driverLocation is the same (/oracle/client/11x_64/instantclient/ojdbc14.jar) for both server nodes.
I checked configtool for any parameters that were defined locally by accident (as these would cause differences after adding a server node) but I couldn't find any.
I still think because of the error that maybe server1 is using the wrong JDBC driver, but how can I be sure?