Wie Bereitstellen von SQL Server Compact Edition 4.0?

Wie richte ich Microsoft SQL Server Compact 4.0?


SQL Server Compact Edition (aktuell in der version 4.0) ist:

eine Kostenlose, eingebettete Datenbank, die software-Entwickler verwenden können, für die Erstellung von Windows-desktop-Anwendungen. Es hat eine kleine Stellfläche und unterstützt private Bereitstellung der Binärdateien im Anwendungsordner.

Aber wie wollen Sie eigentlich bereitstellen?

Das problem ist, dass Sie nicht verwenden die ADO OLEdb-provider, es sei denn es ist registriert. Registrieren eines OLE DB-Anbieter getan werden muss, als administrator. Das bedeutet, dass SQL Server Compact edition mit fehl-Benutzer, die kein administrator sind.

SQL Server Compact 4.0 kommt mit einer redist_enu.txt Datei:

Den aufgeführten .exe-Dateien, installieren Sie die beiliegende Komponenten, um einen bestimmten Speicherort auf dem Zielcomputer. Dies hilft sicherzustellen, dass die Nutzbarkeit und den technischen support. Die .dll-Dateien eingeschlossen in diese .exe-Dateien sind auch einzeln erhältlich, in diesem redist.txt. Jedoch Ausschüttungen von diesen zu trennen .dlls kann zu Problemen der GEBRAUCHSTAUGLICHKEIT. Für weitere Einzelheiten sehen Sie bitte http://go.microsoft.com/fwlink/?LinkId=94589

Private Bereitstellung-Erkennung via BreadCrumb: die Private Bereitstellung von nur den nativen stack und das explizite laden von SQL Server Compact-Assembly per Assembly.LoadFrom(), .eine lokale Datei oder die Verwendung der DLL/COM-Umleitung Strategien werden nicht unterstützt und können dazu führen, GEBRAUCHSTAUGLICHKEIT Fragen. Weitere Informationen finden Sie unter http://support.microsoft.com/kb/835322 und http://msdn2.microsoft.com/en-us/library/aa375142.aspx

Microsoft SQL Server Compact 4.0

SSCERuntime_x86-ENU.exe
SSCERuntime_x86-DEU.exe
SSCERuntime_x86-FRA.exe
SSCERuntime_x86-JPN.exe
SSCERuntime_x86-RUS.exe
SSCERuntime_x86-ESN.exe
SSCERuntime_x86-ITA.exe
SSCERuntime_x86-KOR.exe
SSCERuntime_x86-CHT.exe
SSCERuntime_x86-CHS.exe
SSCERuntime_x64-ENU.exe
SSCERuntime_x64-DEU.exe
SSCERuntime_x64-FRA.exe
SSCERuntime_x64-JPN.exe
SSCERuntime_x64-RUS.exe
SSCERuntime_x64-ESN.exe
SSCERuntime_x64-ITA.exe
SSCERuntime_x64-KOR.exe
SSCERuntime_x64-CHT.exe
SSCERuntime_x64-CHS.exe
sqlcese40.dll
sqlceqp40.dll
sqlceoledb40.dll
sqlceca40.dll
sqlceme40.dll
sqlcecompact40.dll
sqlceer40en.dll
sqlceer40cn.dll/sqlceer40zh-CHS.dll
sqlceer40de.dll
sqlceer40es.dll
sqlceer40fr.dll
sqlceer40it.dll
sqlceer40ja.dll
sqlceer40ko.dll
sqlceer40tw.dll/sqlceer40zh-CHT.dll
sqlceer40ru.dll
System.Data.SqlServerCe.dll
System.Data.SqlServerCe.Entity.dll

aber es gibt keine Informationen zum verteilen von SQL Server Compact 4.0.

Zufällig spellunking rund um die undokumentierte Program Files Ordner fand ich 7 dlls:

C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\
      sqlceoledb40.dll
      sqlceqp40.dll
      sqlcese40.dll
      sqlceca40.dll
      sqlcecompact40.dll
      sqlceer40EN.dll
      sqlceme40.dll

Hinweis: Es gibt auch einige untergeordnete Ordner mit mehreren dlls

ich versucht, das kopieren in diese 7 dll ' s in einen Ordner, und versuchte, Sie zu öffnen eine ADO-Verbindung mit die Verbindungszeichenfolge:

Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source="store.sdf"

aber es funktioniert nicht mit 0x80004005 Unspecified error

ich habe versucht, die frobbing-widget, aber es grobbed die frobber.

Kommentar zu dem Problem
Ich habe das noch nie getan mich, aber ist die Dokumentation unklar??? msdn.microsoft.com/en-us/library/aa983326(v=vs. 110).aspx Kommentarautor: Pondlife
Siehe meinen blog-Beitrag hier: erikej.blogspot.com/2011/02/... Mit SQL Server Compact 4.0 mit dem Desktop der Privaten Bereitstellung und ein Setup-Projekt (MSI) (Teil 2) Kommentarautor: ErikEJ
Verweisen Sie auf app.config, was ich davon ausgehen, bedeutet ein .NET-Anwendung. ich bin zufällig über eine native Anwendung mit xcopy-Bereitstellung. Kommentarautor: Ian Boyd
@Pondlife Der Seite gewusst Wie: Bereitstellen einer SQL Server Compact 4.0 Datenbank mit einer Anwendung, ist wohl klar. Leider ist es auch nicht funktioniert. Übernehmen Sie eine .NET-Anwendung, und ignorieren die erforderliche Registrierung der OLEDB-COM-dll sqlceoledb40.dll. Kommentarautor: Ian Boyd
Dieses Dokument Beitrag durch die Unterstützung von es es jetzt tun, bevor die Dokumentation für immer verschwunden! Kommentarautor:

InformationsquelleAutor der Frage Ian Boyd | 2012-05-24

Schreibe einen Kommentar