abhinaw


We are using a COM+ VB component to access data. It uses Fox Pro DLL ( vfpoledb.dll dated april 2002 ). we are getting intermittent access violation errors in our application. I am posting event logs at the end. The interesting line is the last line ( vfpoledb!DllCanUnloadNow + 0x2144e ). It shows that vfpoledb.dll thows error while trying to destroy a resource ( DllCanUnloadNow).It looks like that the resouce has already been destroyed. Any help is appreciated
___________________________________________

Event Type: Error

Event Source: COM+

Event Category: Unknown

Event ID: 4786

Description:

The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.

Component Prog ID: DSODispenser

Method Name: IDispenserDriver::CreateResource

Server Application ID: {EBA46AE3-E9D4-43E7-A139-7FBD1A9F78B4}

Server Application Instance ID:

{BE994F61-6D11-48C4-A04C-C5CAFF38CD6D}

Server Application Name: our component name

The serious nature of this error has caused the process to terminate.

Exception: C0000005

Address: 0x0C0D4691

Call Stack:

vfpoledb!DllCanUnloadNow + 0x2144e

______________________________________________________________









Re: vfpoledb.dll access violation

dni


Is vfpoledb.dll registred with regserv32







Re: vfpoledb.dll access violation


Re: vfpoledb.dll access violation

abhinaw

Yes. It is registered. The errors are intermittent.HAd it not been registered then it would have thrown error all the time.
thanks






Re: vfpoledb.dll access violation

abhinaw

CetinBasoz wrote:

Try with the updated driver.

http://www.microsoft.com/downloads/details.aspx familyid=e1a87d8f-2d58-491f-a0fa-95a3289c5fd4&displaylang=en


we can only use version 7.We can not upgrade due to some special feature of our application.
thanks






Re: vfpoledb.dll access violation

abhinaw

Is it possible that I can download the pdb files ( symbol files ) for vfpoledb.dll version 7. I could not find it anywhere on the web.





Re: vfpoledb.dll access violation

CetinBasoz

Why What kind of a feature restricts to get the updated version of VFPOLEDB




Re: vfpoledb.dll access violation

abhinaw

Syntax issues. We use a large number of files where we have a syntax which is supported only with version 7. example GROUP BY clause acts more like SQL in version 9 but it expect a diffent sysntax with version 7. We simply can not rewrite our code with a changed syntax because it is a very big effort.





Re: vfpoledb.dll access violation

dni

You may try a double registration, like:

regsvr32 /u vfpoledb.dll

regsvr32 vfpoledb.dll






Re: vfpoledb.dll access violation

dni

...or may be you need to have a MDAC version coresponding with vpoledb version.






Re: vfpoledb.dll access violation

Carl Warner

Since you are using the OLE DB Provider for VFP that is pretty much the very first one for any version of VFP, it can be a little buggy and it is not as fully optimized for speed as it is in newer versions.

As a test, I would suggest you download the latest OLEDB Provider version, and simply setup a config.fpw file (simple ASCII file) in the same folder as the newest vfpoledb.dll file that has the line "ENGINEBEHAVIOR=70" which will then assure you are getting the old incorrect use of SQL GROUP BY clauses as existed in VFP7. The OLE DB Provider for VFP will look at that config.fpw first as it starts up to setup its working environment.

Microsoft OLE DB Provider for Visual FoxPro (through) 9.0

http://www.microsoft.com/downloads/details.aspx FamilyID=e1a87d8f-2d58-491f-a0fa-95a3289c5fd4&DisplayLang=en





Re: vfpoledb.dll access violation

CetinBasoz

Set enginebehavior

command is supported by VFPOLEDB. Any other reason





Re: vfpoledb.dll access violation

abhinaw

I will try it tomorrow and will post the results here.
thanks a lot.





Re: vfpoledb.dll access violation

Carl Warner

If you find the performance of the newest OLE DB Provider for VFP to be sluggish or worse, add the following line to the same config.fpw ASCII file where the ENGINEBEHAVIOR=70 is:

TABLEVALIDATE=0





Re: vfpoledb.dll access violation

CetinBasoz

Hi Carl,

Not related with performance but recently I needed that in config.fpw. Though documentation says it would work having it in config.fpw it behaved as if it didn't exist at all. It only worked when I explicitly had "set tablevalidate" in code. Not a big deal, for information.