Navigation


German VFPConversion Developer's Blog

Dieser Blog ist allen VFP-Entwicklern gewidmet, die .NET und SQL Server in Ihren Applikationen einsetzen oder komplett darauf umsteigen wollen. Das inkludiert natuerlich auch .NET 3.0 Technologien wie WPF und WCF.

Content Area Footer

Sunday, August 06, 2006
SQL Everywhere

Die Microsoft SQL Server Familie erwardet Nachwuchs: SQL Server 2005 Everywhere Edition. Worum handelt es sich hier und warum braucht man diese neue Version von SQL Server?

SQL Server 2005 Evereywhere Edition (kurz "SQL Everywhere") ist eine kompakte Version von SQL Server die sich vor allem fuer Dinge wie automatisch installierte Smart-Client Applikationen eignet. Eine SQL Everywhere Datenbank ist eine einzelne SFD Datei die von der SQL Everywhere Engine verwaltet wird. Die Engine hat eigentlich mit der SQL Server Engine nichts zu tun und teilt sich nur den Namen. In Wirklichkeit handelt es sich hier um die SQL Server CE/ SQL Server Mobile Datenbankengine (die faelschlicherweise oft mit der Jet Engine verwechselt wird), die jetzt auf auf normalen Windows PCs zur Verfuegung steht.

Ein gravierender Unterschied zwischen SQL Everywhere und anderen SQL Server versionen (inklusive Express) ist dass SQL Everywhere extrem einfach zu installieren ist (einfach die SFD und DLL Dateien kopieren) und auch nicht als Service laeuft, sondern nur dann geladen wird wenn man tatsaechlich Datenbankfunktionalitaet verwendet. SQL Everywhere ist eigentlich nur eine weitere Komponente des .NET Frameworks und in der Handhabung und Installation ident zu anderen .NET Framework Komponenten.

Der eigentliche Datenbankzugriff ist dem von SQL Server sehr aehnlich. Man verwendet lediglich eine SqlCeConnection Objekt, anstatt der normalen SqlConnection. Man verwendet auch ein SqlCeCommand Objekt und nicht SqlCommand, usw. Einziger grosser Unterschied hier ist das SQL Everywhere keine Stored Procedures unterstuetzt.

Fuer VFP Programmierer ist dieses Konzept natuerlich nicht drastisch neu. Schliesslich funktioniert dies alles aehnlich wie mit lokalen VFP DBF Dateien, mit dem kleinen Unterschied dass alle SQL Everywhere Tabellen in einer einzelnen Datei gespeichert werden koennen. Und natuerlich auch dass alle Datenbankoperationen ueber Objekte ablaufen und nicht ueber integrierte Befehle, was Architekturvorteile mit sich bringt (vor allem in den heute tyepischen Mehrschichtenapplicationen).

Somit gibt es jetzt folgende SQL Server Versionen:

  1. SQL Server (in verschiedenen Unterversionen, wie z.B. "Enterprise") - Ideal als "Workhorse" Datenbank in einem Client-Server Setup. Hier geht die Post ab. Diese Version ist dafuer geschaffen auch grosse Datenmengen verwalten zu koennen.
  2. SQL Server Express (frueher "MSDE") - Ideal fuer fortgeschrittene Datenbankanwendungen auf der lokalen Arbeitsstation. Die Installation ist dieser Version ist relativ einfach und auch ueber tools wie ClickOnce automatisiert. Allerdings braucht man entsprechende Admin Rechte um diese Version installieren zu koenne.
  3. SQL Server Everywhere - Ideal fuer Datenbanken die mit einzelnen Applicationen komplett transparent mitinstalliert werden muessen. Die Datenbankengine und die eigentlichen Datenbankdateien koennen einfach kopiert oder als Setupfiles installiert werden. Das funktioniert auch in "Partial Trust" Szenarien in denen man keine Admin Rechte hat.
  4. SQL Server Mobile (frueher "SQL CE") - Diese Version ist praktisch ident zu SQL Everywhere, ist jedoch darauf ausgelegt auf Windows Mobile Devices (Pocket PC, SmartPhone,...) zu laufen.

Eine Anwendung von SQL Everywhere die mir persoenlich sehr gut gefaellt: SQL Everywhere Datenbanken sind ideal fuer Unit Tests, da man die Datenbank einfach in das Unit Test Projekt einbinden kann. Dies eliminiert die externe Datenbankabhaengigkeit die Unit Tests oft schwierig gestalten kann.

Weitere Informationen zu SQL Everywhere gibt's auf dem Blog von Steve Lasker (einem der MS Product Managers) und auch in diesem Artikel.

PS: Unser hauseigenes Product "Milos Solution Platform" unterstuetzt SQL Everywhere seit der letzten Version direkt am Framework-Level. Die Einbinding ist voellig transparent und lediglich eine Konfigurationsoption. Wir hatten in diesem Zusammenhang auch bereits die Moeglichkeit SQL Everywhere zu testen und zu evaluieren, und koennen nur sagen "Hut ab!", diese Datenbank funktioniert hervorragend und ist sehr einfach anzuwenden. Natuerlich entspricht SQL Everywhere nach wie vor nicht dem "USE" Befehl von VFP, aber vor allem in Mehrschichtenszenarien muss man neidlos eingestehen das SQL Everywhere sehr gut funktioniert.

 

Posted @ 2:03 PM by Egger, Markus (markus@code-magazine.com) -
Comments (11)


 

 

 

 

 

 

 

Syndication RSS 2.0 RSS 2.0

All My Blogs:
My personal blogs:
Dev and Publishing Dev and Publishing
Travel and Internat. Living Travel and Internat. Living
Other blogs I contribute to:
Milos Blog (US) Milos Blog (US)
VFPConv. Dev Blog (US) VFPConv. Dev Blog (US)
VFPConv. Dev Blog (DE) VFPConv. Dev Blog (DE)

 

Blog Archives
All Blog Posts

2007
    August (1)
    July (1)
    June (2)
    January (1)
2006
    December (1)
    November (2)
    October (1)
    August (1)
    April (3)
    March (3)

 

 

 

This Blog is powered by MilosTM Collaboration Components.