I'm evaluating DB2 provider for our internal project with Informix database. So far I have experience only with Odbc/IDS/.Net combination.
I'm not using any Informix-specific data types so we've chosen generic approach ((IDbConnection, IDbCommand, IDataReader, IDbDataParameter, etc...) with provider specified in configuration.
With DB@ provider I'm experiencing several issues.
Problem with database transactions: we are calling stored procedures which contain 'begin work' inside. It always fails with error -535 already in transaction. Is there any way to have connection with a database but not within transaction context? When using Odbc then everything is ok. We have plenty of such procedures so we can't easily change them.
Problem with isolation level: how to set default isolation level for a connection? It seems that I can specify isolation level only for explicit transaction. I've tried also to execute "set isolation level to ..". However next statement (any kind) always returns to committed read (visible on the server with onstat command).
Also isolation level "committed read last committed" can't be set. An error occurs when I use IsolationLevel.Snapshot programmatically and there is no way to configure client side. In Odbc it worked by configuring appropriate driver option.
And the last thing: I can't force Crystal Reports Designer to work with Informix using DB2 drivers.
Do you have experience with above issues? Maybe some configuration is necessary? Possible that I just don't know how to configure db2cli.ini because there are plenty of options described with DB2-specific terms.
My configuration: AIX 7.1, Informix 11.5FC4, IBM DB2 Data Provider 9.7.0 for .NET Framework 2.0, Crystal Reports for VS2010, Crystal Reports 2008.