IBM Support

Created a datasource for SnowFlake received ClassCastException when click test connection

Question & Answer


Question

 
When attempting to create new J2EE/JDCB Data source to connect to SnowFlake database use UserDefine method,   Click on Test Connection received ClassCastException
[1/13/20 11:24:05:024 EST] 00000270 DSConfigHelpe W DSRA8200W: DataSource Configuration: DSRA8020E: Warning: The property 'Database name' does not exist on the DataSource class net.snowflake.client.jdbc.SnowflakeDriver.
[1/13/20 11:24:05:024 EST] 00000270 DSConfigurati W DSRA8201W: DataSource Configuration: DSRA8040I: Failed to connect to the DataSource jdbc/snowflake. Encountered com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException: DSRA8101E: DataSource class cannot be used as one-phase: ClassCastException: net.snowflake.client.jdbc.SnowflakeDriver incompatible with javax.sql.ConnectionPoolDataSource. com.ibm.ws.exception.WsException: DSRA8101E: DataSource class cannot be used as one-phase: ClassCastException: net.snowflake.client.jdbc.SnowflakeDriver incompatible with javax.sql.ConnectionPoolDataSource
at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:256)
at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:205)
at com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:447)
at com.ibm.ws.rsadapter.DSConfigHelper.getPooledConnection(DSConfigHelper.java:1340)
at com.ibm.ws.rsadapter.DSConfigHelper.getPooledConnection(DSConfigHelper.java:1196)
at com.ibm.ws.rsadapter.DSConfigurationHelper.getConnectionFromDSOrPooledDS(DSConfigurationHelper.java:2076)
at com.ibm.ws.rsadapter.DSConfigurationHelper.getConnectionFromDSOrPooledDS(DSConfigurationHelper.java:1952)
at com.ibm.ws.rsadapter.DSConfigurationHelper.testConnectionForGUI(DSConfigurationHelper.java:2820)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95
...

Cause

Above issue is due to incorrect Implementation class configured. "net.snowflake.client.jdbc.SnowflakeDriver" is not the correct implementation class. 

Answer

Client should use the following Implementation class
net.snowflake.client.pooling.SnowflakeConnectionPoolDataSource
image-20200129121504-1

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Component":"Using SnowFlake","Platform":[{"code":"PF033","label":"Windows"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 April 2020

UID

ibm11284826