Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider

In my project, I use SQL CE 3.5 database with entity framework and followed this article but i have this exception :

Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8080. Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.

All details

System.Data.SqlServerCe.SqlCeException was unhandled
  Message=Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8080. Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.
  Source=""
  HResult=-1
  NativeError=-1
  StackTrace:
       at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()
       at System.Data.SqlServerCe.SqlCeConnection..ctor()
       at System.Data.SqlServerCe.SqlCeProviderFactory.CreateConnection()
       at System.Data.EntityClient.EntityConnection.GetStoreConnection(DbProviderFactory factory)
       at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
       at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
       at DAL.OimDBEntities..ctor()
       at DAL.OimRepository..ctor()
       at Microsoft.Rtc.Collaboration.Sample.SubscribePresenceView.UCMASampleSubscribePresenceView.Subscribe()
       at Microsoft.Rtc.Collaboration.Sample.SubscribePresenceView.UCMASampleSubscribePresenceView.Run()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.DllNotFoundException
       Message=Unable to load DLL 'sqlceme35.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
       Source=System.Data.SqlServerCe
       TypeName=""
       StackTrace:
            at System.Data.SqlServerCe.NativeMethods.GetSqlCeVersionInfo(IntPtr& pwszVersion)
            at System.Data.SqlServerCe.NativeMethods.LoadValidLibrary(String modulePath, Int32 moduleVersion)
            at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()
       InnerException: 
like image 460
Tarek Saied Avatar asked Sep 01 '12 09:09

Tarek Saied


2 Answers

I got this error with a private install of SqlServerCE. I had a reference to System.Data.SqlServerCe.dll in my project, but I was missing other dlls (native components) needed by SqlServerCE. The "native components" are in x86 and amd64 subfolders of SqlServerCE's "private" folder. You need to make sure that they get copied to the output folder of your project.

like image 185
Tom Andraszek Avatar answered Nov 08 '22 02:11

Tom Andraszek


I also had encountered the same problem. the problem was i had used the following command install-package EFcodeFirst.SqlServerCompact to get the sqlCE. the version that was downloaded by package manager was 4.0 and whereas on my harddisk the version present was 3.5

download the latest version 4.0 from the following location http://www.microsoft.com/en-us/download/details.aspx?id=17876 did solved my problem

EDIT: Link above now returns 404. This is now the correct location for the download: https://www.microsoft.com/en-us/download/details.aspx?id=30709

like image 3
Ashish Gupta Avatar answered Nov 08 '22 02:11

Ashish Gupta