We help IT Professionals succeed at work.

Dot net web app not able to access providex data with providex odbc driver.

I have a dot net 2 web service that I get to work on 2008 server  Standard x64 R2 under IIS7 as an application under the default website
I’m using a Providex 32bit odbc driver to access the required data.
In IIS I set the application to use the Classic .Net appPool and enable the 32bit mode for that application pool.
The file permissios for the directory where the data is, is set to full control. With this configuration my web service application runs with no issues and is able to access the data.

When I try to replicate this configuration on a Server 2008 x64 SBS SP2 my web service runs but is unable to access the data and I get the below error in IIS.
I have the file permissions set to everyone full control.

System.ApplicationException: Unable to retrieve JMember. ---> System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.Odbc.OdbcConnection.Open()
   at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   at AccountLink.AccountLink.GetMember(String memberId) in C:\$Data\Visual Studio Projects\AccountLink\AccountLink\AccountLink.asmx.cs:line 1459
   --- End of inner exception stack trace ---
   at AccountLink.AccountLink.GetMember(String memberId) in C:\$Data\Visual Studio Projects\AccountLink\AccountLink\AccountLink.asmx.cs:line 1475

Watch Question

DevOps Manager
Top Expert 2011
Install the 32Bit Driver and then use the odbcad32.exe within the windows directory and set up a 32 bit version of the ODBC DSN. The issue is you are using hte 64Bit ODBC Interface and Windows is confused. - Hades666
Brad HoweDevOps Manager
Top Expert 2011

c:\windows\system32\odbcad32.exe :) cheers - Hades666


thanks hades666,

I used the c:\Windows\SysWOW64\odbcad32.exe to set up my DSN as per the instructions from Providex.

II ran the c:\windows\system32\odbcad32.exe  but it did not provide me with the option to set up a Providex DSN.
Qlemo"Batchelor", Developer and EE Topic Advisor
Top Expert 2015

This question has been classified as abandoned and is being closed as part of the Cleanup Program.  See my comment at the end of the question for more details.