ADODB DB2 DSN using IBMDADB2 provider

Posted by Eli Sand on Server Fault See other posts from Server Fault or by Eli Sand
Published on 2012-04-03T03:57:30Z Indexed on 2012/04/03 5:31 UTC
Read the original article Hit count: 984

I have a very bizarre issue with trying to establish a working connection to an IBM DB2 server from Classic ASP using ADODB.

On my development server I am running IIS and have a local instance of DB2 running. When I create a system DSN on this server and try to connect to it with ADODB, I have to specify Provider=IBMDADB2; in my connection along with the DSN name - failure to include the provider and my connection won't work.

On my production server(s), I have one running IIS and a second system running an instance of DB2. When I create a system DSN on the production IIS server and try to connect to it with ADODB, I cannot specify the provider, otherwise it throws an uncatchable error in an external module (I assume it's referring to the DB2 module) if I try to do anything past get a connection (oddly, opening the connection itself doesn't throw an error - but if I run a query it does). If I remove the Provider=IBMDADB2; from the connection string (thus I just have DSN=some_name), it works fine.

On both systems I can verify through the ODBC connection manager that the DSN's work and can connect to the databases, and on both systems I have made sure to set the correct (only) instance of DB2 as the default.

Can anyone tell me why I have to have different connection strings for the development and production servers? I would like to be able to use the same connection string for both environments if at all possible. If that means either specifying a provider for both, or for neither I don't care which - I would just like to know what's going on and how to fix it.

© Server Fault or respective owner

Related posts about windows-server-2008

Related posts about asp-classic