I keep getting an error while trying to validate my custom Informix database connection in Splunk. I have the ifxjdbc.jar
in /apps/dbx/bin/lib/
. I know I must be making an initial connection because I can see the database names when I click the "Fetch database names" button.
This is the error message:
Encountered the following error while trying to update: In handler 'dbx-databases': Error validating database: java.sql.SQLException: A syntax error has occurred.
Here is the configuration from database_types.conf.
[informix]
displayName = Informix
jdbcDriverClass = com.informix.jdbc.IfxDriver
defaultPort = 1533
connectionUrlFormat = jdbc:informix-sqli://{0}:{1}/{2}:informixserver=SERVERNAME
testQuery = SELECT 1 FROM MY_TABLE_NAME WHERE id='1'
defaultCatalogName = DATABASE NAME
Update: Add DB errors
2013-01-26 02:27:05.356 dbx7320:ERROR:Database - Database validation failed for database Database{name='XXXXXX', databaseType=GenericDatabaseType{name='informix'}, host='XXXXX', port=XXXXX, username='XXXXX', database='XXXXX'}: java.sql.SQLException: A syntax error has occurred.
java.sql.SQLException: A syntax error has occurred.
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:413)
at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3550)
at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3871)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2662)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2578)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1699)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1672)
at com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:209)
at com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1230)
at com.informix.jdbc.IfxStatement.executeQuery(IfxStatement.java:220)
at com.splunk.dbx.sql.Database.validateConnection(Database.java:405)
at com.splunk.dbx.sql.factory.PooledConnectionFactory.validateObject(PooledConnectionFactory.java:129)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1230)
at com.splunk.dbx.sql.factory.PooledConnectionFactory.getConnection(PooledConnectionFactory.java:70)
at com.splunk.dbx.sql.Database.getConnection(Database.java:431)
at com.splunk.dbx.sql.Database.execute(Database.java:158)
at com.splunk.dbx.command.DatabaseQueryCommand.executeCommand(DatabaseQueryCommand.java:63)
at com.splunk.runtime.SplunkCommand.invoke(SplunkCommand.java:237)
at com.splunk.bridge.session.BridgeSession.call(BridgeSession.java:92)
at com.splunk.bridge.session.BridgeSession.call(BridgeSession.java:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.sql.SQLException
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:413)
at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3876)
... 22 more
2013-01-26 02:27:05.357 dbx7320:ERROR:DatabaseQueryCommand - Error while executing command: Error getting database connection: Could not create a validated object, cause: ValidateObject failed
I have solved the problem. I had an outdated .jar
file. I updated to the newest version from IBM's client SDK and I am now able to connect successfully.
I have solved the problem. I had an outdated .jar
file. I updated to the newest version from IBM's client SDK and I am now able to connect successfully.
We found the ifxjdbc.jar driver file you mentioned inside the massive 17-19M download file at \setup.jar\Disk1\InstData\Resource1.zip\$JDBC_REL_PRODUCT_DIR$\lib_zg_ia_sf.jar\ifxjdbc.jar
- will test to see if it works
You should see related errors in the debug log. You can find them by executing the saved search "Recent DB Connect errors" in the DB Connect app. Could you please post them here?