ÚVOD

Tento článek popisuje aktualizaci Microsoft SQL Server Compact 3,5 (SP1). SQL Server Compact 3,5 SP1 aktualizuje prodejní verzi SQL Server Compact 3,5. Tento článek obsahuje následující položky:

Další informace

Poznámky k verzi

Historie verzí

Následující seznam obsahuje různé verze Microsoft SQL Server Compact:

  • Verze 3,5 SP1 Microsoft SQL Server Compact 3,5 Service Pack 1 (SP1). Tato aktualizace Service Pack byla vydaná společně s Microsoft Visual Studio 2008 Service Pack 1 (SP1) a Microsoft SQL Server 2008.

  • Verze 3,5 Microsoft SQL Server Compact 3,5. Tato verze byla vydána společně s Microsoft Visual Studio 2008.

  • Verze 3,1 Microsoft SQL Server 2005 Compact Edition. Tato verze byla vydána současně pro integraci s Microsoft Visual Studio 2005 Service Pack 1 (SP1) a Microsoft SQL Server 2005 Service Pack 2 (SP2).

  • Verze 3,0 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) Tato verze byla vydána společně s Microsoft Visual Studiom 2005 a Microsoft SQL serverem 2005.

  • Verze 2,0 Microsoft SQL Server 2000 Windows CE Edition 2,0 (SQL Server CE 2,0). Tato verze byla vydána společně s Microsoft Visual Studio 2003.

Nové funkce

SQL Server Compact 3,5 SP1 obsahuje následující nové funkce:

  • Podpora pro rozhraní Entity Framework ADO.NET Entity Framework umožňuje pracovat s daty ve formě objektů a vlastností specifických pro doménu, jako jsou třeba zákazníci a adresy zákazníků, aniž byste se museli pobývat se základními databázovými tabulkami a sloupci, ve kterých jsou tato data uložená. Poznámka Podpora pro ADO.NET Entity Framework vám umožní vytvářet pružné a silně typové dotazy na kontext objektu Entity Framework pomocí LINQ výrazů a operátorů LINQ Standards pro LINQ přímo z vývojového prostředí.

  • Podpora řazení s rozlišováním velkých a malých písmen na úrovni databáze.

  • Správa databází SQL serveru Compact, které jsou uložené na zařízení s Windows Mobile, nebo na stolním počítači pomocí SQL Server Management Studio (SSMS) v SQL serveru 2008.

  • Replikace nových datových typů v SQL serveru 2008 Mezi tyto datové typy patří Datum, čas, datetime2, DateTimeOffset, geografiea geometrie. Nové datové typy v SQL serveru 2008 se mapují na nchar, nvarchar, Obrázeka tak dále.

  • Nativní podpora 64. Nebyla změněna podpora 32.

  • Podpora pro replikaci dat v SQL serveru 2008, SQL serveru 2005 a SQL Server 2000 pomocí služby Microsoft pro synchronizaci ADO.NET 1,0 Service Pack 1 (SP1). Služby Microsoft Synchronization Services pro ADO.NET 1,0 SP1 jsou k dispozici pro stolní i mobilní zařízení.

  • Podpora pro replikaci dat s SQL serverem 2008 a SQL Server 2005 pomocí slučovací replikace a vzdáleného přístupu k datům (RDA).

  • Lepší Kompatibilita verzí mezi SQL Server Compact a SQL serverem pro slučovací replikaci.

  • Serverové nástroje SQL Server Compact 3,5 SP1

    • Může replikovat data mezi SQL Server Compact 3,5 a SQL serverem 2008 nebo SQL Server 2005.

    • Podporuje replikaci dat mezi SQL Server 2005 Compact Edition nebo SQL Server 2005 Mobile Edition a SQL Server 2008 nebo SQL Server 2005.

    • Nelze nainstalovat souběžně se staršími verzemi serverových nástrojů na počítači, na kterém je server, na kterém běží Internetová informační služba (IIS).

  • Podporuje Windows Server 2008.

Kromě nových funkcí, které jsou zde uvedené, obsahuje SQL Server Compact 3,5 SP1 následující nové funkce, které byly součástí SQL Server Compact 3,5:

  • Implementuje datový typ časového razítka (rowversion). Rowversion je datový typ, který generuje automaticky generovaná binární čísla, která jsou v databázi jedinečná. Tento datový typ se obvykle používá jako mechanismus pro správu řádků tabulky.

  • Podporuje místní obor transakcí na stolních počítačích.

  • Přidání vylepšení v Návrháři tabulky v Visual Studiu 2008 k poskytnutí uživatelského rozhraní pro vytváření vztahů primárních a cizích klíčů mezi tabulkami.

  • Rozšíří podporu příkazů Transact-SQL takto:

    • Vnořený dotaz v klauzuli FROM

    • KŘÍŽové použití a vnější použití

    • NÁDECH

    • ZAČÁTEK

    • VLOŽENÍ IDENTITY INSERT

  • Podporuje znaky Unicode libovolného národního prostředí. Patří sem čínské GB 18030 znaků.

  • Podporuje vývoj desktopových aplikací, které používají Microsoft Visual C# 2008 Express Edition a Microsoft Visual Basic 2008 Express Edition.

  • Podpora souběžně s SQL serverem 2005 Compact Edition na stolních počítačích.

  • Podporuje zpětně kompatibilní režimy šifrování pro starší operační systémy se staršími šifrovacími algoritmy a přidává nové a lepší šifrování.

  • Podporuje LINQ to SQL. LINQ to SQL je komponenta projektu LINQ. LINQ to SQL poskytuje infrastrukturu run-time pro správu relačních dat jako objektů bez nutnosti zadávat dotazy. Převádí dotazy s podporou jazyka do jazyka Transact-SQL pro spuštění v systému SQL Server Compact a pak převádí tabulkové výsledky zpátky do objektů, jak je definuje vývojář softwaru. V LINQ to SQL není žádná podpora návrháře SQL Server Compact. Pro SQL Server Compact se musí používat nástroj SqlMetal. exe. Nástroj příkazového řádku SqlMetal generuje kód a mapování komponenty LINQ to SQL rozhraní Microsoft .NET Framework. Ve výchozím nastavení je soubor SqlMetal. exe umístěn v následující složce:

    %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\Bin Nástroj příkazového řádku SqlMetal lze použít pro následující:

    • Generování zdrojového kódu a mapování atributů nebo mapovacího souboru z databáze

    • Vytvoření souboru. dbml (Intermediate Database Markup Language) z databáze pro přizpůsobení

    • Generování kódu a mapování mapovacích souborů ze souboru. dbml,

Vydané jazyky

SQL Server Compact 3,5 SP1 pro všechny balíčky je vydaný v následujících jazycích:

  • Angličtina

  • Brazilská portugalština

  • Zjednodušená čínština

  • Tradiční čínština

  • Francouzština

  • Němčina

  • Italština

  • Japonština

  • Korejština

  • Ruština

  • Španělština

Podporované platformy

SQL Server Compact 3,5 SP1 se dá nainstalovat na tyto platformy:

Stolní počítače se systémem Windows
  • Windows Server 2008 Standard Server

  • Windows Server 2008 Standard Server (bez Hyper-V)

  • Windows Server 2008 Enterprise

  • Windows Server 2008 Enterprise (bez Hyper-V)

  • Datové centrum Windows Server 2008

  • Datové centrum Windows Server 2008 (bez Hyper-V)

  • Windows Server 2008 Web Edition

  • Windows Server 2008 Standard Server x64

  • Windows Server 2008 Standard Server x64 (bez Hyper-V)

  • Windows Server 2008 Enterprise x64

  • Windows Server 2008 Enterprise x64 (bez technologie Hyper-V)

  • Datové centrum x64 systému Windows Server 2008

  • Datové centrum systému Windows Server 2008 – x64 (bez Hyper-V)

  • Windows Server 2008 Web Edition x64

  • Windows Vista Home Basic SP1

  • Windows Vista Home Premium SP1

  • Windows Vista Business SP1

  • Windows Vista Enterprise SP1

  • Windows Vista Ultimate SP1

  • Windows Vista Starter SP1

  • Windows Vista Home Basic – x64 SP1

  • Windows Vista Home Premium x64 SP1

  • Windows Vista Business x64 SP1

  • Windows Vista Enterprise x64 SP1

  • Windows Vista Ultimate x64 SP1

  • Windows XP Professional SP3

  • Windows XP Home Edition SP3

  • Windows XP Media Center Edition 2005

  • Windows XP Media Center Edition s aktualizací SP3 2004

  • Windows XP Tablet PC Edition SP3

  • Windows XP Embedded SP3

  • Windows XP Professional x64 SP3

  • Windows Embedded for Point-Service SP3

  • Windows Server 2003, Standard Edition SP2

  • Windows Server 2003, Enterprise Edition SP2

  • Windows Server 2003, Datacenter Edition SP2

  • Windows Server 2003 R2 Standard Edition

  • Windows Server 2003 R2, Enterprise Edition

  • Windows Server 2003 R2, Datacenter Edition

  • Windows Server 2003 x64 Standard Edition

  • Windows Server 2003 x64 Enterprise x64 Edition

  • Windows Server 2003 x64 Datacenter Edition

  • Windows Server 2003 R2 x64 Standard Edition

  • Windows Server 2003 R2 x64, Enterprise Edition

  • Windows Server 2003 R2 x64 Datacenter Edition

Zařízení s Windows Mobile
  • Windows CE 6,0

  • Windows CE 5,0

  • Windows CE 4,2

  • Windows Mobile 6,0

  • Windows Mobile 5,0

  • Windows Mobile 2003 pro Pocket PC

Další součásti

V této části jsou popsané soubory Instalační služby systému Windows SQL Server Compact 3,5 SP1 (. msi). Některé z těchto souborů jsou k dispozici ke stažení na webu služby Stažení softwaru. Součásti SQL Server Compact 3,5 SP1 si můžete stáhnout z následujícího webu společnosti Microsoft:

http://www.microsoft.com/sql/editions/compact/downloads.mspx Následující seznam popisuje další soubory MSI SQL Server Compact 3,5 SP1. Poznámka Zástupný jazyk představuje v tomto seznamu jazyk produktu SQL Server Compact. Například pro angličtinu: zástupný symbol představuje ENUa v japonštině představuje JPN.

  • Návrhové nástroje SQL Server Compact 3,5 SP1 (SSCEVSTools –Language. msi) Tento soubor nainstaluje součásti pro návrh SQL serveru Compact s aktualizací Visual Studio 2008 SP1. Součástí doby návrhu jsou uživatelské rozhraní, dialogová okna a prostředí pro návrh. Používají se k psaní aplikací pro SQL Server Compact. Komponenty SQL Server Compact pro návrh jsou nainstalované v následující složce:

    %ProgramFiles%\Microsoft Visual Studio 9 \ Common7\IDE Ukázkové soubory jsou nainstalované v následující složce:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Samples Tyto komponenty jsou svázané s Visual Studio a nelze je dodávat nezávisle na Visual Studiu. Soubory hlaviček SQL Server Compact a SQL Server Compact (pro nativní vývoj) se instalují taky tímto souborem.

  • SQL Server Compact 3,5 SP1 (SSCERuntime –Language. msi) Tento soubor nainstaluje součásti modulu runtime SQL Server Compact pro stolní počítače. Nainstaluje tyto součásti do následující centrální složky:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5 Tyto komponenty jsou nutné k vývoji aplikací v aplikaci Visual Studio a ke spuštění aplikací založených na systému SQL Server Compact na ploše. SSCERuntime –jazyk. msi je také k dispozici ke stažení na webu. Tento soubor také nainstaluje součásti Microsoft Synchronization Services for ADO.NET 1,0 SP1. Součásti služby synchronizace se nainstalují do následující složky:

    Synchronizace%ProgramFiles%\Microsoft Services\ADO.NET\v1.0 Další informace najdete v článku služby Microsoft Synchronization Services pro ADO.NET Books Online. Tento zdroj je dostupný na webu Microsoft SQL serveru.

  • SQL Server Compact 3,5 SP1 pro zařízení (SSCEDeviceRuntime-Language. msi) Tento soubor nainstaluje komponenty Runtime zařízení SQL Server Compact do následující složky:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Devices Běhové komponenty jsou potřebné pro vývoj aplikací systému Windows Mobile a Windows CE pro zařízení v aplikaci Visual Studio a pro nasazení aplikací na mobilních zařízeních. SSCEDeviceRuntime –jazyk. msi je také k dispozici ke stažení na webu Microsoft SQL Server.

  • SQL Server Compact 3,5 SP1 server Tools (SSCEServerTools –Language. msi) Tento soubor nainstaluje nástroje SQL Server Compact Server do následující složky:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\sync\SQL Součásti jsou nutné pro připojení databáze SQL Server Compact na mobilním zařízení k databázi SQL Server 2008 nebo SQL Server 2005. SSCEServerTools –jazyk. msi je také k dispozici ke stažení na webu Microsoft SQL Server.

  • Dotazy SQL Server Compact 3,5 SP1 (SSCESqlWbTools –Language. msi) Tento soubor nainstaluje soubory nástroje SQL Server Compact Query-nástroj do následující složky:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Tools Navíc jsou ukázkové soubory nainstalované v následující složce:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Samples SSCESqlWbTools –Language. msi je součástí verze SQL Server Compact 3,5 SP1. Soubor je nainstalovaný jako součást serveru SQL Server 2008. Poznámka Počínaje SQL Server Compact 3,5 SP1 je k dispozici také součást Query Tools, když je nainstalovaný SQL Server 2008.

Známé problémy v této verzi

Známé problémy v SQL Server Compact 3,5 SP1 jsou následující:

  • Integrace dokumentace (BOL) do aplikace Visual Studio a SQL Server Aktualizace SQL Server Compact 3,5 SP1 Books Online (BOL) a služby Microsoft Synchronization Services for ADO.NET jsou k dispozici jen pro stažení z webu Microsoft Download Center. Nejsou součástí Visual Studio 2008 SP1 nebo SQL Server 2008. Chcete-li získat přístup k těmto kolekcím z dokumentace pro Visual Studio 2008 SP1 nebo SQL Server 2008 a získat přístup k nápovědě k aplikaci Visual Studio 2008 SP1 nebo SQL Server 2008, přidejte tyto kolekce do kolekce Visual Studio a SQL Server kombinovaná Nápověda. To můžete udělat tak, že si stáhnete SQL Server Compact 3,5 SP1 Books Online a služby Microsoft Synchronization Services for ADO.NET. Potom zavřete všechny instance aplikace Visual Studio/SQL Server Kombined Help Collection, Visual Studio 2008 a SQL Server 2008. Když znovu otevřete kombinaci Visual Studio a SQL serveru kombinovaná Nápověda, SQL Server Compact 3,5 SP1 Books Online a služby Microsoft Synchronization Services for ADO.NET Books Online budou k dispozici v nápovědě k obsahu, rejstříku, hledání a F1.

  • Podpora pro Windows Mobile Soubor instalačního programu SQL Server Compact 3,5 SP1 pro zařízení se nenainstaluje společně s Visual Studio 2008 SP1. Soubor je dostupný jenom pro stažení z webu Microsoft Download Center.

  • Upgrade z předprodejní verze Upgrade na SQL Server Compact 3,5 nebo SQL Server Compact 3,5 SP1 z SQL serveru Compact 3,5 verze ve verzi CTP (Community Technology Preview) nebo z verze SQL Server Compact 3,5 beta se nepodporuje. Upgrade na SQL Server Compact 3,5 SP1 z SQL serveru Compact 3,5 nebo SQL Server Compact 3,5 SP1 Beta je podporovaný. Upgrade z verze CTP a beta verzí SQL Server Compact 3,5 se nepodporuje. Odinstalace verze CTP nebo beta verze Visual Studio 2008 neodinstaluje SQL Server Compact 3,5. Před instalací vydané verze aplikace Visual Studio 2008 musíte odebrat instalaci produktu CTP nebo beta serveru SQL Server Compact 3,5. Chcete-li to udělat, proveďte jednu z následujících akcí:

    • Ve Windows Vista klikněte na Start, klikněte na Ovládací panelya potom poklikejte na programy a funkce. Odinstalujte všechny instalace CTP a beta verze následujících aplikací:

      • SQL Server Compact 3,5

      • SQL Server Compact 3,5 pro zařízení

      • Nástroje pro návrh SQL Server Compact 3,5

    • V systému Windows XP nebo Windows Server 2003 klikněte na Start, klikněte na Ovládací panelya potom poklikejte na Přidat nebo odebrat programy. Odinstalujte všechny instalace CTP a beta verze následujících aplikací:

      • SQL Server Compact 3,5

      • SQL Server Compact 3,5 pro zařízení

      • Nástroje pro návrh SQL Server Compact 3,5

  • SQL Server Compact 3,5 SP1 se po odinstalaci Visual Studio 2008 SP1 neodinstaluje Po odinstalaci aktualizace Visual Studio 2008 SP1 se automaticky odinstalují vývojové nástroje SQL Server Compact 3,5 SP1 a SQL Server Compact 3,5 SP1. Pokud se chcete vrátit k instalaci sady Visual Studio 2008, musíte nejdřív odinstalovat nástroje pro návrh SQL Server Compact 3,5 SP1 a SQL Server Compact 3,5 SP1. K instalaci nástrojů pro návrh SQL Server Compact 3,5 a SQL Server Compact 3,5 musíte použít instalační médium aplikace Visual Studio 2008. Balíčky Instalační služby systému Windows pro SQL Server Compact 3,5 a SQL Server Compact 3,5 jsou umístěné v následující složce na instalačním médiu aplikace Visual Studio 2008:

    WCU\SSCE Název souboru balíčku SQL Server Compact 3,5 je SSCERuntime –Language. msi. Název souboru balíčku nástroje pro návrh SQL Server Compact 3,5 je SSCEVSTools –Language. msi. Poznámka Zástupný jazyk představuje jazyk produktu SQL Server Compact.

  • Integrace SQL Server Management Studio 2008 Pokud jste při instalaci SQL serveru 2008 vybrali možnost opravit , nástroje pro dotazy SQL server Compact 3,5 SP1 a SQL server Compact 3,5 SP1 se neinstalují automaticky. Tento problém vyřešíte instalací souborů. msi SQL serveru Compact z následující složky na instalačním médiu systému SQL Server:

    Servers\Setup Název souboru balíčku SQL Server Compact 3,5 SP1 je SSCERuntime –Language. msi. Název souboru balíčku dotazů SQL Server Compact 3,5 SP1 je SSCESqlWbTools –Language. msi. Poznámka Jazyk zástupného symbolu představuje jazyk produktu. Důležité Pokud při používání SQL serveru 2008 Management Studio není nainstalovaná aktualizace SQL Server Compact 3,5 SP1, zobrazí se následující chybová zpráva:

    Nelze načíst Microsoft SQL Server Compact. Nainstalujte Microsoft SQL Server Compact MSIs ze složky – Servers\Setup na instalačním médiu systému SQL Server. Další podrobnosti najdete v článku znalostní báze Knowledge Base 952218.

    Tento problém vyřešíte instalací nástrojů pro dotazy na Microsoft SQL Server Compact 3,5 SP1 a Microsoft SQL Server Compact 3,5 SP1 z instalačního média systému SQL Server 2008 ve složce "Servers\Setup". Další informace o tomto problému a řešení najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

    952218 Chybová zpráva při pokusu o připojení k SQL serveru Compact 3,5 Service Pack 1 z SQL Server Management Studio v SQL serveru 2008: "nejde načíst Microsoft SQL Server Compact".  

  • Soubor nástroje SQL Server Compact 3,5 SP1 (x86) Server Tools. msi nerozpoznává Internetovou informační službu, když je služba IIS nainstalována v systému Vista (x64) nebo Windows 2008 Server další informace o tomto problému a o tom, jak ho vyřešit, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

    955966 SQL Server Compact 3,5 Service Pack 1 se nenainstaluje v režimu WOW, když spustíte službu IIS 7,0 v počítači 64 s aktualizací Windows Server 2008 nebo 64 na počítači s operačním systémem Windows Vista.  

  • Visual Studio pro zařízení s zpětnou kompatibilitou Po instalaci zařízení SQL Server Compact 3,5 SP1 s nainstalovaným ovladačem "Smart zařízení", který odkazuje na sestavení System. data. SqlServerCe. dll a který byl vytvořen pomocí Visual Studio 2008 SP1 nebo Visual Studio 2008, nejde otevřít zpátky ani zpátky. K tomuto problému dochází, protože verze sestavení System. data. SqlServerCe. dll v SQL Server Compact 3,5 SP1 (3.5.1.0) a v SQL Server Compact 3,5 (3.5.0.0) se liší. Možné scénáře a jejich rozlišení jsou následující:

    • Projekt "Smart" se vytváří pomocí Visual studia 2008 a ujistěte se, že projekt odkazuje na sestavení System. data. SqlServerCe. dll. Potom nainstalujete Visual Studio 2008 SP1 a SQL Server Compact 3,5 SP1 zařízení. Když otevřete a pak sestavíte projekt, zobrazí se následující chybová zpráva:

      Tato operace vyžaduje odkaz na SQL Server Compact 3,5. Projekt odkazuje na jinou verzi. Aktualizujte odkaz a zkuste to znovu.

      K tomuto problému dochází, protože se verze System. data. SqlServerCe. dll, na kterou se projekt odkazuje, liší od souboru System. data. SqlServerCe. dll, který je v počítači. Při řešení potíží postupujte takto:

      1. V nabídce zobrazení klikněte na Průzkumník řešení.

      2. Klikněte na reference.

      3. Kliknutím zaškrtněte políčko System. data. SqlServerCe a v dialogovém okně vlastnosti nastavte vlastnost pro určitou verzi na false .

      Poznámka Toto řešení nevyžaduje aktualizaci verze sestavení souboru System. data. SqlServerCe. dll, pokud projekt otevřete pomocí Visual Studio 2008 a Visual Studio 2008 SP1.

    • Nainstalujete Visual Studio 2008 a SQL Server Compact 3,5 zařízení. Potom otevřete projekt "Smart", který byl dříve vytvořený v počítači s Visual Studio 2008 SP1 a SQL Server Compact 3,5 SP1. Při sestavování projektu se aplikace úspěšně vytvoří. Při pokusu o ladění aplikace se ale zobrazí tato chybová zpráva:

      Nejde najít PInvoke DLL ' Sqlceme35. dll '

      K tomuto problému dochází, protože projekt má místní kopii System. data. SqlServerCe. dll s verzí 3.5.1.0. Ale závislé nativní soubory se v počítači nenacházejí. Tyto soubory zahrnují Sqlceme35. dll. Při řešení potíží postupujte takto:

      1. V nabídce zobrazení klikněte na Průzkumník řešení.

      2. Klikněte na reference.

      3. Kliknutím zaškrtněte políčko System. data. SqlServerCe a potom v dialogovém okně vlastnosti nastavte možnost Kopírovat místní vlastnost na false .

      4. Odeberte sestavení System. data. SqlServerCe. dll z místní složky projektu.

      5. Klikněte na reference.

      6. Klikněte pravým tlačítkem myši na System. data. SqlServerCea potom klikněte na Odebrat.

      7. Klikněte na reference.

      8. Klikněte pravým tlačítkem myši do oblasti reference a potom klikněte na Přidat odkaz.

      9. V dialogovém okně Přidat odkaz klikněte na kartu .NET .

      10. V seznamu název součásti zaškrtněte políčko System. data. SqlServerCe a klikněte na OK.

  • Výchozí omezení jsou replikovaná tak, jak jsou. Pokud je článek obsahující sloupec typu geometrie replikován do odběratele, který používá SQL Server Compact, jsou výchozí omezení replikovaná. Pokud chcete tento problém vyřešit, proveďte jednu z následujících akcí:

    • Nereplikovat výchozí omezení Místo toho zakažte pro tento článek možnost schématu před tím, než je článek replikován do odběratele.

    • Před publikováním odeberte z tabulky výchozí omezení.

    • Zadejte výchozí hodnotu jako literál namísto geometrické funkce.

  • Vlastnost Encrypt (zašifrovat) třídy "SqlCeConnection" se nepoužívá. SQL Server Compact 3,5 SP1 nepoužívá vlastnost Encrypt třídy SqlCeConnection . Vlastnost Encrypt třídy SqlCeConnection by neměla být používána. Poznámka Vlastnost Encrypt (šifrovat ) se v budoucí verzi nepoužívá. Vlastnost se zachová v SQL Server Compact 3,5 SP1 jenom pro zpětnou kompatibilitu. Pomocí vlastnosti režim šifrování třídy SqlCeConnection můžete šifrovat databázové soubory SQL Server Compact 3,5 SP1. Následující příklady ukazují, jak vytvořit novou šifrovanou databázi SQL Server Compact 3,5 SP1. C#

    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    engine.CreateDatabase();
    

    Visual Basic

    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    engine.CreateDatabase()
    
  • Po upgradu na Visual Studio 2008 musí být aplikace ClickOnce znovu publikovaná Když upgradujete z Visual Studio 2005 na Visual Studio 2008, není upgradovaná databáze SQL Server Compact a ClickOnce aplikace musí být znovu publikována. Soubory databáze (*. sdf), které byly vytvořené staršími verzemi SQL Server Compact, nejsou kompatibilní s SQL Server Compact 3,5 SP1. Po upgradu projektu Visual Studio 2005 na Visual Studio 2008 se upgradují jenom šifrované databázové soubory z dřívějších verzí SQL serveru Compact. Šifrované soubory databáze je třeba upgradovat ručně. Pokud Project 2005 Visual Studio používá ClickOnce k publikování aplikací, měla by být po upgradu projektu ve Visual Studiu 2008 znovu publikována. Pokud chcete šifrované soubory databáze ručně upgradovat, postupujte takto:

    1. Klikněte na data.

    2. Klikněte na Přidat nový zdroj dat.

    3. Klikněte na Přidat připojení.

    Pokud otevřete dřívější verzi databázového souboru, zobrazí se zpráva. Pokud ve zprávě kliknete na OK , zobrazí se dialogové okno upgrade na SQL Server Compact 3,5 . Nebo můžete použít funkci SqlCeEngine. upgrade API pro programové scénáře. Můžete například použít kód, který se podobá následující ukázce kódu. C#

    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;");
    engine.Upgrade ("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    

    Visual Basic

    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;")
    engine.Upgrade("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    

    Pokud projekt používá ClickOnce k publikování aplikací, měla by být po upgradu aplikace v aplikaci Visual Studio 2008 znovu publikována. Při opětovném publikování aplikace ClickOnce v aplikaci Visual Studio 2008 se může zobrazit následující upozornění:

    Systém SQL Server 2005 Compact Edition nebyl nalezen pro zavedení samozavádění Zprávu upozornění je možné ignorovat.

  • Datové typy SQL Server Compact 3,5 SP1 pro parametry typu SqlDbType a DbType by měly být explicitně nastaveny. Pokud nejsou datové typy parametrů typu SqlDbType a DbType explicitně nastaveny, může se databázový stroj pokusit uhodnout pro tento parametr nejvhodnější datový typ. Tento odhad nemusí být správný, obzvláště u řetězců a binárních datových typů, které nemají pevnou délku (včetně velkých objektů), jako je třeba nvarchar, ntext, varbinarya Image. V těchto případech je možné vyvolat chybovou zprávu o výjimce. Abyste tento problém vyřešili, důrazně doporučujeme, abyste určili datové typy parametrů pro řetězce a binární datové typy, které nemají pevnou délku. Můžete například použít kód, který se podobá následující ukázce kódu. C#

    SqlCeEngine engine = new SqlCeEngine(connString);
    engine.CreateDatabase();
    engine.Dispose();
    
    SqlCeConnection conn = new SqlCeConnection(connString);
    conn.Open();
    
    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);";
    cmd.ExecuteNonQuery();
    
    cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);";
    SqlCeParameter paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128);
    SqlCeParameter paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText);
    paramName.Value = "Name1";
    paramBlob.Value = "Name1".PadLeft(4001);
    
    cmd.ExecuteNonQuery();
    

    Visual Basic

    Dim engine As SqlCeEngine = New SqlCeEngine(connString)
    engine.CreateDatabase()
    engine.Dispose()
    
    Dim conn As SqlCeConnection = New SqlCeConnection(connString)
    conn.Open()
    
    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);"
    cmd.ExecuteNonQuery() 
    
    cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);"
    Dim paramName As SqlCeParameter
    Dim paramBlob As SqlCeParameter
    paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128)
    paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText)
    paramName.Value = "Name1"
    paramBlob.Value = "Name1".PadLeft(4001)
    
    cmd.ExecuteNonQuery()
    
  • V některých případech je Kompatibilita formátu souborů databáze omezená. Databázové soubory SQL Server Compact 3,5 SP1 (. sdf) se dají otevřít v SQL Server Compact 3,5 a v SQL serveru Compact 3,5 SP1. V některých případech je však možné omezit kompatibilitu formátu souborů databáze. Kompatibilitu formátů souborů databáze může být například omezená v následujících situacích:

    • Databázi s rozlišováním velkých a malých písmen, která je vytvořená v SQL Server Compact 3,5 SP1, nelze otevřít ani rozpoznat v systému SQL Server Compact 3,5. Uvědomte si, že řazení s rozlišováním velkých a malých písmen jsou zavedena počínaje SQL Server Compact 3,5 SP1.

    • Soubor databáze SQL Server Compact 3,5 a runtime SQL Server Compact 3,5 SP1 nelze současně současně otevřít.

  • Dotaz, který obsahuje typ levého VNĚJŠÍho spojení s konstantou v podobě levého operandu, nevrátí správné výsledky Když spustíte dotaz, který obsahuje typ levého VNĚJŠÍho spojení s konstantou jako levý operand, nebudou vráceny správné výsledky. K tomuto problému dochází, protože SQL Server Compact nevyhodnocují takové dotazy správně. Příklad takového dotazu:

    SELECT * FROM table1 LEFT OUTER JOIN table2 ON 1 = table1.column1

    Následující dotaz LINQ to Entities obsahuje také hodnotu konstanty jako funkci pro výběr klíče v metodě GroupBy . Tento dotaz je převeden na levé vnější spojení s konstantou jako levý operand interně a vrátí nesprávnou hodnotu. C#

    using (NorthwindEntities nwEntities = new NorthwindEntities())
    {
       var customers = nwEntities.Customers
                       .GroupBy( c => 1, c => c.Customer_ID)
                       .Select( c => c);
    }
    
  • Problémy s modulem runtime SQL Server Compact 3,5 SP1 pro rozhraní entity ADO.NET

    • Korelační poddotazy, které interně převedou na skalární poddotazy, nejsou v této verzi podporovány. U takových poddotazů se zobrazí následující chybová zpráva:

      Při provádění definice příkazu došlo k chybě. Podrobnosti najdete v článku o vnitřní výjimce. Vnitřní výjimka obsahuje následující zprávu "při analýze dotazu došlo k chybě. [.., Token v chybě = AS]

      K tomuto problému dochází, protože Entity Framework interpretuje vstupní dotaz jako dotaz s typem spojení KŘÍŽové nebo vnější. Pokud na pravé straně podmínky spojení vrátíte skalární hodnotu, bude spojení převedené na skalární poddotaz. Poskytovatel Entity Framework pro SQL Server Compact musí tento skalární poddotaz převést na ekvivalentní dotaz s VNĚJŠÍm typem spojení, který podporuje SQL Server Compact. V této verzi se ale převod neprovádí správně. Například následující dotaz vyvolá chybovou zprávu v této verzi: Jazyk C#

      using (NorthwindEntities nwEntities = new NorthwindEntities())
      {
          var orders = nwEntities.Employees
                      .Select(employee => employee.Orders.Max(order => order.Order_ID));
          foreach (var order in orders)
          {
             Console.WriteLine(order.ToString());
          }
      }
      
      • Při provádění dotazu Entity Framework dojde k výjimce narušení přístupu, pokud hlavní dotaz i poddotaz obsahují klíčové slovo DISTINCT a podmínka spojení je označená klauzulí OUTER JOIN. Následující dotaz například vytvoří porušení přístupu:

        SELECT DISTINCT [o].[CustomerID]
        FROM (SELECT DISTINCT * FROM [Orders]) AS [o]
        LEFT OUTER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]
        

Seznam problémů, které jsou opravené

Tato aktualizace Service Pack řeší následující problémy:

  • 923979 Chybová zpráva při pokusu o vložení řádku nebo provedení jiných databázových operací v databázi serveru SQL Server 2005 Mobile Edition: "Nesprávná stránka poškození databáze"

  • 933463 Spravované aplikace, které používají SQL Server 2005 Mobile Edition, se můžou nečekaně zastavit, pokud se změní umístění knihoven DLL SQL Mobile.

  • 934386 SQL Server 2005 Compact Edition nemůžete použít na zařízení s ARMV4i, na kterém běží Windows CE .NET 4,2

  • 935769 Chybová zpráva při upgradu databáze z SQL serveru 2000 Windows CE Edition 2,0 na SQL Server 2005 Mobile Edition: "databázový soubor je větší, než je nakonfigurovaná maximální velikost databáze"

  • 936487 Spravované aplikace, které používají SQL Server 2005 Compact Edition 3,1, se můžou neočekávaně zastavit na zařízeních se systémem Windows Mobile 5,0 ARMV4i, pokud se změní umístění knihoven DLL SQL Server Compact Edition.

  • aplikace zařízení se systémem 938786 .NET Compact Framework 2,0, která volá metodu SqlCeEngine. Verify, přestane reagovat na databázi SQL Server 2005 Compact Edition.

  • 947002 Chybová zpráva při pokusu o odstranění řádků z tabulky v SQL serveru 2005 Compact Edition nebo SQL Server Compact 3,5: "závažná chyba 0x80004005, menší chyba 0. Pokus o dělení nulou "

  • 950440 Aplikace přestane reagovat, když aplikace spustí velký dotaz s parametry v predikátech v SQL serveru 2005 Compact Edition

  • 951932 Chybová zpráva při vytvoření předplatného v SQL serveru 2005 Compact Edition na SQL serveru 2000: "název tabulky není platný. [Číslo řádku tokenu (Pokud je znám) = 1; posun řádku tokenu (Pokud je znám) = 22; název tabulky = <TableName>] "

  • 953259 Chybová zpráva při spuštění příkazu SQL, který používá funkci CHARINDEX, v databázi, která používá České národní prostředí v SQL serveru 2005 Compact Edition: "funkce nebyla rozpoznána systémem SQL Server Compact Edition".

Tato aktualizace Service Pack řeší následující problémy, které nebyly dříve zdokumentovány v článku znalostní báze Microsoft Knowledge Base:SQL Server Compact 3,5 SP1

  • Při slučovací replikaci dat z SQL serveru 2005 na SQL Server Compact 3,5 se můžou vytvořit nesprávné příkazy Transact-SQL. Změny dat se navíc nevztahují na SQL Server Compact. K tomuto problému může například dojít, pokud je vytvořen nesprávný příkaz Transact-SQL, třeba následující:

    not null default n e w i d ( )

    Můžete očekávat, že je třeba vytvořit následující příkaz Transact-SQL:

    not null default newid()
  • V systému SQL Server Compact 3,5 se ve srovnání se serverem SQL Server 2005 Compact Edition dochází k pomalejšímu výkonu dotazů. Tento problém je způsobený různými plány dotazů. Pokud spustíte následující kód, v SQL serveru Compact 3,5 se vytvoří nesprávný plán dotazů a místo prohledávání indexu se použije funkce prohledávání tabulky.

    cmd.CommandText = @"select * from  Customers where Customers.Customer_ID = @v0";cmd.Parameters.Add("@v0", SqlDbType.NVarChar);rdr = cmd.ExecuteReader();
  • Parametr TransactionScope je potvrzený bez ohledu na to, jestli je volaný TS. Complete. K tomuto problému dochází například v případě, že je použit kontext LINQ to SQL DataContext, jako v následujícím ukázkovém kódu v SQL Server Compact 3,5:

    using System;using System.Data.Linq;using System.Transactions;namespace bug{    class Program    {        static void Main(string[] args)        {            DataContext ctx = new DataContext("Test.sdf");            using (TransactionScope ts = new TransactionScope())            {                ctx.ExecuteCommand("INSERT INTO x (y) VALUES (2)");            }        }    }
  • Pokud používáte SQL Server Compact společně s ADO.Net Entity Framework, hodnoty, které jsou větší než 8 000 bajtů, se nedají vložit do tabulky SQL serveru Compact, která obsahuje binární sloupce rozsáhlých objektů.

  • Pokud je index zastaralý, statistiky aktualizace selžou, když se připojení k SQL Server Compact 3,5 otevře v režimu jen pro čtení.

  • V procesu GetColumnRowset se vám zobrazí chybová zpráva o narušení přístupu pro zobrazení výsledků posouvání. Kromě toho proces OpenSharedMemory resetuje objekt pError , když se při vytváření sdílené paměti nezdaří v globálním oboru názvů.

  • Po vyřazení objektu příkazu po procesu připojení může dojít k vyvolání chybové zprávy výjimky. K tomuto problému může dojít při spuštění následujícího kódu:

    SqlCeConnection cn;SqlCeCommand cmd;... cn.Dispose();cmd.Dispose(); 
  • Pokud příkaz Select nevrátí všechny sloupce, které jsou seřazené podle parametrů Group by a ORDER by , je vyvolána chybová zpráva o narušení přístupu. Tento problém může nastat například u následujícího příkazu SELECT:

    SELECT        [Company Name], [Contact Name]FROM            CustomersGROUP BY [Customer ID], [Company Name], [Contact Name]ORDER BY [Customer ID], [Company Name], [Contact Name]
  • KASKÁDové odstranění nefunguje správně, pokud je v tabulce jenom jeden prvek a v klauzuli WHERE je použitá podmínka a. Používání funkce "NOT" s "nebo". Následující dotaz například nefunguje správně:

    Select from table where (a=x AND b=y)
  • Hodnota null v seznamu SELECT může způsobit nepřerušované zpracování chyb v nativním režimu. Výjimka není zachycená třídou SqlCeException a zobrazí se následující nativní chybová zpráva o výjimce:

    V SqlMobileCrash. exe došlo k nativní výjimce. Vyberte ukončit a spusťte tento program znovu nebo vyberte podrobnosti, kde najdete další informace. Kód výjimky: 0xc0000005Exception adresa: 0x00d1aa68Reading: 0x0027f0000

  • Pokud je použit příkaz SET IDENTITY_INSERT , je parametr název tabulky považován za rozlišování malých a velkých písmen. K tomuto problému dochází, protože by měla být v metadatech vždy rozlišována malá a velká písmena.

  • Pokud je použit objekt IDbCommand , vloží se do sloupců typu float chyba. Například tento problém nastane s následujícím kódem:

    try            {                string ConnectionString = "Data Source='Northwind.sdf'";                IDbConnection conn = new SqlCeConnection(ConnectionString);                IDbCommand cmd = conn.CreateCommand();                cmd.CommandText = "insert into \"newtable\"(\"t1\")values(@p0)";                conn.Open();                IDbDataParameter p;                p = cmd.CreateParameter();                p.Value = 7.6M;                p.ParameterName = "@p0";                cmd.Parameters.Add(p);                IDbTransaction t = cmd.Connection.BeginTransaction();                cmd.Transaction = t;                cmd.Prepare();                cmd.ExecuteNonQuery();                p.Value = 10M;                cmd.ExecuteNonQuery(); // Exception is thrown here                t.Commit();            }            catch (Exception ex)            {             }
  • Příkaz SqlCeResultSet. GetEnumerator vyvolá chybovou zprávu StackOverflowException a příkaz SqlCeDataReader. GetEnumerator vyvolá chybovou zprávu NotSupportedException při spuštění následujícího kódu:

    SqlCeConnection conn = new SqlCeConnection(@"Data Source=Northwind.sdf");conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "Select * from categories";SqlCeResultSet res = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable | ResultSetOptions.Sensitive);IEnumerator e= res.GetEnumerator(); // Exception is thrown here.conn.Close();
  • Když RAPI hovor simuluje scénář System. Web (ASP.NET), může SQL Server Compact vyvolat chybovou zprávu s informacemi o výjimce null.

SQL Server Compact 3,5

  • Pokud chcete spustit plán údržby pro obnovení indexu, nelze spustit příkaz ALTER TABLE pro omezení indexu primárního klíče. Neúspěšná Inicializace sloučení a zobrazí se tato chybová zpráva:

    Název tabulky není platný. [Číslo řádku tokenu (Pokud je znám) = 1; posun řádku tokenu (Pokud je znám) = 21; název tabulky = kategorie] HRESULT 0x80040E14 (26100). Příkaz SQL nelze provést. [Příkaz SQL = ALTER TABLE [dbo]. Categorie ADD CONSTRAINT [PK_Categories] CLUSTEROVANÝ ([CategoryID]) WITH PAD_INDEX, FILLFACTOR = 85] HRESULT 0x80040E14 (28560)

  • Pokud kapesní počítač se systémem Windows Mobile 2003 spouští více vláken a procesů pro přístup ke stejné databázi, může se aplikace ukončit s náhodnou chybovou zprávou.

  • V aplikaci Microsoft Visual Studio 2008 nelze vytvořit připojení databáze pro databázi SQL Server Compact. Tento problém nastane, když je databáze větší než 256 MB.

  • Následující nativní binární soubory SQL serveru Compact jsou nyní podepsané společností Microsoft.Globální soubory DLL

    • Sqlcese35.dll

    • Sqlcecompact35.dll

    • Sqlceqp35.dll

    • Sqlceoledb35.dll

    • Sqlceme35.dll

    • Sqlceca35.dll

    • Sqlcesa35.dll

    • Sqlcerp35.dll

    Soubory DLL specifické pro jednotlivé jazyky

    • Sqlceer35br.dll

    • Sqlceer35cn.dll

    • Sqlceer35cs.dll

    • Sqlceer35da.dll

    • Sqlceer35de.dll

    • Sqlceer35el.dll

    • Sqlceer35en.dll

    • Sqlceer35es.dll

    • Sqlceer35fi.dll

    • Sqlceer35fr.dll

    • Sqlceer35it.dll

    • Sqlceer35ja.dll

    • Sqlceer35ko.dll

    • Sqlceer35nl.dll

    • Sqlceer35no.dll

    • Sqlceer35pl.dll

    • Sqlceer35ps.dll

    • Sqlceer35pt.dll

    • Sqlceer35ru.dll

    • Sqlceer35sv.dll

    • Sqlceer35tw.dll

  • Pokud má dotaz víc nebo predikáty, zobrazí se chybová zpráva s upozorněním na, jako v následujícím příkladu kódu:

    create table t1 (c1 int);create index t1_idx on t1(c1);insert into t1 values (1);insert into t1 values (2);insert into t1 values (3);create table t2 (col1 int, col2 int);insert into t2 values (2,3);insert into t2 values (1,3);insert into t2 values (3,3);select * from t1,t2 where c1 = col1 or c1 = col2 or c1 = 1;
  • Spustíte počítač se systémem Windows XP, který používá systém souborů FAT32. Pokud se k databázi SQL Server Compact přistupuje současně službou systému Windows a aplikací, dojde k selhání aplikace.

  • Metoda SqlCeEngine Compact nastaví hodnotu Autoinc_Next nesprávně, pokud je odstraněna maximální přidělená hodnota v přiřazeném rozsahu. Pokud se odstraní maximální přidělená hodnota, bude hodnota Autoinc_Next nastavena na hodnotu 1 větší, než je aktuální maximální hodnota, kterou daný článek používá v rámci jeho rozsahu.

  • K neočekávaným výsledkům může dojít, pokud se záznamy obsahující speciální znaky přistupují v příkazu TableDirectIndexSearch a v příkazu Select .

  • Microsoft Visual Studio 2005 Query Designer přidá hranaté závorky pro funkce data.

  • Při slučovací replikaci dat mezi SQL serverem a SQL Server Compact se zobrazí tato chybová zpráva:

    Správce zámku nemá dostatek místa pro další zámky. Může to být způsobeno rozsáhlými transakcemi, velkými operacemi řazení nebo operacemi, které SQL Server Compact Edition vytváří dočasné tabulky. Místo pro uzamknutí nelze zvětšit.

  • Chybová zpráva FormatException je vyvolána, když je řetězec zřetězený s parametrem typu String. Tento problém může například nastat, když spustíte následující kód:

    SqlCeConnection con = new SqlCeConnection("Test.sdf"); SqlCeCommand cmd = con.CreateCommand();cmd.CommandText = "select firstname + ' ' + lastname from person";bool i = cmd.ExecuteReader().Read();cmd.CommandText = "select firstname + @p0 + lastname from person";cmd.Parameters.Add("@p0", " ");i = cmd.ExecuteReader().Read();
  • Duplicitní názvy parametrů nejsou povolené.

  • Pokud se při použití příkazu Select obsahujícího klauzuli ORDER by vyskytne "Delete", "Read", "ReadPrevious", zobrazí se chybová zpráva Exception.

  • Při použití klauzule ORDER BY nejsou povoleny příkazy DISTINCT *

  • Pokud je zadaný název omezení, nelze do existující vyplněné tabulky přidat sloupec, který neobsahuje hodnoty NULL a výchozí hodnoty. Tento problém může například nastat, když spustíte následující kód:

    ALTER TABLE Categories ADD COLUMN bitcol1 bit NOT NULL CONSTRAINT MyConstraint DEFAULT (1);
  • Když spustíte následující dotaz, je vybraný nesprávný index:

    SELECT store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, max(last_reorder_date) last_reorder_date, reorder_point, last_order_qty, sys_line_flag, stock_status, max(last_ship_date) last_ship_date, max(last_scan_date) last_scan_date, max(back_order_status) back_order_status, max(unit_last_scan_date) unit_last_scan_date, max(revision_target) revision_target FROM tbl_master_chart WHERE store_uid = 22359 and stock_price = '0399' and stock_class = 'EGB' and stock_number = '4759' GROUP BY store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, reorder_point, last_order_qty, sys_line_flag, stock_status ORDER BY sys_line_flag DESC, ticket_number
  • Pokud použijete proceduru ReadAbsolute (záporné celé číslo) k načtení hodnoty GetString řádku, zobrazí se následující chybová zpráva o výjimce:

    Pro řádek nebo sloupec neexistují žádná data.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×