patrick
patrick

Reputation: 16959

If a ASMX WebService needs a DLL where should it be put?

I'm using some 3rd party software that's failing. Their API is wrapped in a ASP web service.

The call stack tells me that it needs maybe MySQL.Data.DLL or something (not sure exactly) in the correct directory. So I'm wondering where that directory would be. The Web Server is IIS.

Here is the call stack:

  Unable to find the requested .Net Framework Data Provider.  It may not be installed.

       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       at WebReports.Api.Data.SqlObject.CreateConnectionObject(String dbType, String dataConnStr)
       at WebReports.Api.Data.SqlObject..ctor(PageInfo pageInfo, Int32 dataSourceId)
       at WebReports.Api.Data.DataObjectBase.GetDataObject(PageInfo pageInfo, Int32 dataSourceId, String objectType, Boolean isSqlSpecific)
       at WebReports.Api.Reports.Entity.get_DataSource()
       at WebReports.Api.Reports.Entity.GetColumnProcess(String colName, Boolean isActual)
       at WebReports.Api.Reports.EntityColumnsCollection.GetColumnProcess(String colNameFull, Boolean isActual)
       at WebReports.Api.Common.PageInfo.GetMnemonicFromId(String id)
       at WebReports.Api.Reports.KeyColumnCollection.SetColumnMnemonics()
       at WebReports.Api.Reports.ReportEntityCollection.SetColumnMnemonics()
       at WebReports.Api.Reports.ReportEntityCollection.LoadData(DataSet ds, Boolean readSchema)
       at WebReports.Api.Reports.Report.get_Entities()
       at WebReports.Api.Common.PageInfo.GetMnemonicFromId(String id)
       at WebReports.Api.Reports.Cell.set_SaveText(String value)
       at WebReports.Api.Reports.ReportCellCollection.LoadData(DataSet ds)
       at WebReports.Api.Reports.Report.get_Cells()
       at WebReports.Api.Reports.Report.UpdateVersion()
       at WebReports.Api.Reports.Report.Validate(Boolean validateJoins)
       at WebReports.Api.Reports.Report.LoadData(Boolean validate)
       at WebReports.Api.Reports.Report.Load(String reportName)

Above this line is their API, so I can't inspect it:

       at eWebReportsLETG.ReportURLService.GenerateReportURL(Int32[] list, String m_szWebReportsVirtualDirectory, String m_szWebReportsUrl, String ReportDir, String ReportName, String PkSpecialName, Boolean& Failed) in C:\dev\eWebReports\eWebReportsLETG\ReportURLService.asmx.cs:line 51

Upvotes: 1

Views: 298

Answers (1)

patrick
patrick

Reputation: 16959

I needed to copy MySQL.data.dll to the bin directory of my web service application directory. I also added the config key to the web.config.

Upvotes: 3

Related Questions