System.EntryPointNotFoundException: Unable to find an entry point named 'AsaConnection_CloseDataRead

StackOverflow https://stackoverflow.com/questions/14790004

  •  07-03-2022
  •  | 
  •  

Question

My application uses the SQL Anywhere ADO .NET data provider. I had upgraded my application to use SQL Anywhere 12.0.1 EBF 3840 earlier in the week, but I had to roll it back to EBF 3817 on Friday. I've been getting the following error when my program starts up:

System.EntryPointNotFoundException: Unable to find an entry point named 'AsaConnection_CloseDataReaders' in DLL 'dbdata12.dll'.

I've done a search and I found this documentation page about dbdata12.dll. I've done a search of the C: drive on my machine and I can't find dbdata12.dll anywhere on it. Apparently, the program isn't unpacking it, either.

How do I fix this problem?

Was it helpful?

Solution

With the help of another developer here, I’ve resolved this.

The problem is that the uninstaller does not remove all 3840 DLLs from the GAC. Specifically, I found copies of iAnywhere.Data.SQLAnywhere.V4.0.dll and policy.12.0.iAnywhere.Data.SQLAnywhere.V4.0.dll and policy.12.0.iAnywhere.Data.SQLAnywhere.V4.5.dll in the C:\Windows\Microsoft.NET\assembly\GAC_MSIL folders for EBF 3840, even after I had uninstalled SQL Anywhere from my machine twice.

Once I deleted those DLLs, the problem stopped.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top