Last post Feb 26, 2014 05:42 PM by lewis886
Feb 14, 2014 12:01 PM|lewis886|LINK
Okay, I'm trying to pull data from a Progress Database. I've searched around and they suggested installing progress on the server that is running the IIS/ASP.NET applications. I have done this, but I'm still having an issue. For some reason it is still
searching for the driver on a mapped network drive, instead of on the ASP server, and I can't figure out where it is getting that old address.
Here is the full error: ERROR [IM003] Specified driver could not be loaded due to system error 126: The specified module could not be found. (Progress OpenEdge 10.1C Driver, P:\oe10\bin\pgoe1023.dll).
Where would the "P:\oe10\bin\pgoe1023.dll" address is coming from? I've searched around in IIS, gone through the connection strings, searched the web config file in my application, and I can't find anywhere where it specifies that address. Any ideas?
I don't know if this will help at all, but here's the full Stack Trace:
[OdbcException (0x80131937): ERROR [IM003] Specified driver could not be loaded due to system error 126: The specified module could not be found. (Progress OpenEdge 10.1C Driver, P:\oe10\bin\pgoe1023.dll).] System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle
hrHandle, RetCode retcode) +1300202 System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) +95 System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString
connectionOptions) +53 System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +55 System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions
options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +22 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,
DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) +38 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection,
DbConnectionInternal& connection) +5355906 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +146 System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +16 System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +17
System.Data.Odbc.OdbcConnection.Open() +42 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +121 System.Data.Common.DbDataAdapter.Fill(DataSet
dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +316 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +86 System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments
arguments) +1474 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +138 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30
System.Web.UI.WebControls.GridView.DataBind() +4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +105 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75 System.Web.UI.Control.EnsureChildControls() +83 System.Web.UI.Control.PreRenderRecursiveInternal()
+42 System.Web.UI.Control.PreRenderRecursiveInternal() +155 System.Web.UI.Control.PreRenderRecursiveInternal() +155 System.Web.UI.Control.PreRenderRecursiveInternal() +155 System.Web.UI.Control.PreRenderRecursiveInternal() +155 System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +974
Feb 16, 2014 08:32 PM|Lannie|LINK
I recall reading some time ago that there is a series of problems related to permissions and progress database, both dll and registry.
I found those issues with simple Google search.
Feb 17, 2014 11:58 AM|lewis886|LINK
yes, i found the same things. And going futher in my Google search I found some instructions on how to fix it, which is what I'm trying to work through. As I said in the first post, what I need to know now is where in code or settings the "P:" address
could possibly be coming from, as that seems to be the issue currently.
Feb 17, 2014 05:05 PM|Lannie|LINK
Is is possible to import the data into SQL LITE and have less legacy issues??
Feb 17, 2014 09:57 PM|lewis886|LINK
Nope. The database type cannot change. It is a large progress database, and having to set something up to import data into a SQL database for every application, every time i want to pull data from the Progress database is just not really an efficient or
Feb 19, 2014 04:24 PM|lewis886|LINK
It seems to be more of a permissions error than anything else. It is as if the ASP server, or the account that IIS is running under doesn't have access to the network share P: drive. We have searched and can't find any reasons for this.
When you test the config when setting up the ODBC connection it connects successfully.
The P: drive sits on a Red Hat server if that helps.
Feb 26, 2014 05:42 PM|lewis886|LINK
I ended up needing to install the full version of Progress (OpenEdge) on the server running the ASP applications. I don't really know why, but that's what it required. We had to contact the software vendor in order to get the files. Once the full version
of OpenEdge was installed, those errors immediately disappeared.