SQL Server CE 4.0으로 ASP.NET 웹 페이지 사이트에서 작업하고 있습니다.오류 받기 0004 : System.Data.SqlServerCe.Entity.dll을로드 할 수 없습니다. SQL Server Compact 다시 설치
SQL Server CE 4.0 데이터베이스가 정상적으로 작동한다고 생각합니다. Entity Framework가 있거나없는 내 dev 컴퓨터에서 아무 문제없이 연결할 수 있습니다. 내가 서버에 사이트를 밀어되면
,이 연결 문자열을 사용하여 미세 엔티티 프레임 워크없이 연결할 수 있습니다 :
<add name="StarterSite"
connectionString="Data Source=|DataDirectory|\StarterSite.sdf"
providerName="System.Data.SqlServerCe.4.0" />
내 엔티티 프레임 워크 연결 문자열은 다음과 같습니다
<add name="StarterSiteEntities"
connectionString="metadata=res://*/App_Code.ProductModel.csdl|res://*/App_Code.ProductModel.ssdl|res://*/App_Code.ProductModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=|DataDirectory|\StarterSite.sdf""
providerName="System.Data.EntityClient" />
EF 데이터베이스 호출을 시도 할 때 다음 오류 메시지가 나타납니다.
스택 추적 :
[MetadataException : 지정한 스키마가 유효하지 않습니다. 오류 : App_Code.ProductModel.ssdl (2,88) : 오류 0004 : System.Data.SqlServerCe.Entity.dll을로드 할 수 없습니다. SQL Server Compact를 다시 설치하십시오. ] System.Data.Metadata.Edm.Loader.ThrowOnNonWarningErrors() 8,610,213 System.Data.Metadata.Edm.Loader.LoadItems (IEnumerable을 1 xmlReaders, IEnumerable
sourceFilePaths 1) 189 System.Data.Metadata.Edm.StoreItemCollection.Init (IEnumerable을 1 xmlReaders, IEnumerable
1 filePaths, 부울 throwOnError, DbProviderManifest & providerManifest, DbProviderFactory & providerFactory, 문자열 & providerManifestToken, Memoizer 2& cachedCTypeFunction) +182 System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable
1 xmlReaders, IEnumerable을 1 filePaths) +244 System.Data.Metadata.Edm.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) +90 System.Data.Metadata.Edm.StoreItemCollectionLoader.LoadItemCollection(StoreMetadataEntry entry) +16 System.Data.Metadata.Edm.MetadataCache.LoadItemCollection(IItemCollectionLoader
1 itemCollectionLoader, T 항목) 163 System.Data.Metadata.Edm.MetadataCache.GetOrCreateStoreAndMappingItemCollections (문자열 cacheKey , MetadataArtifactLoader loader, EdmItemCollection, edmItemCollection, Object & entryToken) +191 System.Data.EntityClient.EntityConnection.LoadStoreItemCollections (의 MetadataWorkspace 작업 공간, DbConnection storeConnection, DbProviderFactory 공장, DbConnectionOptions의 connectionOptions, EdmItemCollection edmItemCollection, MetadataArtifactLoader artifactLoader) 246 System.Data.EntityClient.EntityConnection.GetMetadataWorkspace (부울 initializeAllCollections) 586 시스템. Data.EntityClient.EntityConnection.InitializeMetadata (DbConnection newConnection, DbConnection originalConnection, 부울 closeOriginalConnectionOnFailure) +75 System.Data.EntityClient.EntityConnection.Open() 150 System.Data.Objects.ObjectContext.EnsureConnection() +75 시스템. Data.Objects.ObjectQuery 1.GetResults(Nullable
1 forMergeOption) +41 System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +36 System.Linq.Enumerable.FirstOrDefault(IEnumerable
1 원본) +152 System.Data.Objects.ELinq.ObjectQueryProvider.b__1 (IEnumerable 1 sequence) +41 System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle(IEnumerable
쿼리, Expression queryRoot) +59 System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute (식) +133 System.Data.Entity.Internal.Linq.DbQueryProvider.Execute (식 표현) +87 System.Linq.Queryable.FirstOrDefault (실행기에 IQueryable 1 source) +251 ASP._Page_admin_ruf_Admin_Product_Edit_cshtml.Execute() in c:\sites\www.foosite.org\Admin-RUF\Admin-Product-Edit.cshtml:25 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +198 System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable
1) +69 System.Web.WebPages.WebPage.ExecutePageHierarchy () +131 System.Web.WebPages.StartPage.RunPage() +17 System.Web.WebPages.StartPage.ExecutePageHierarchy() +64 System.Web.WebPages.WebPageBase.ExecutePageHierarchy (WebPageContext pageContext, TextWriter 작성기, WebPageRenderingBase startPage) +78 System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal (HttpContextBase httpContext) +116
버전 정보 : Microsoft .NET Framework 버전 : 4.0.30319; ASP.NET 버전 : 4.0.30319.18044
무엇이 잘못 되었나요?
VS에서 SQL 탭으로 이동하여 연결 문자열을 복사하여 붙여 넣으십시오. – Tico
응용 프로그램과 함께 System.Data.SqlServerCe.Entity.dll을 배포하십시오. – ErikEJ
@ErikEJ Thx가 응답합니다. 어디에서 System.Data.SqlServerCe.Entity.dll을 배포 할 수 있습니까? 내 bin 폴더에 없어요. –