Vorgehensweise: Erstellen einer Datenbank mit dem Engine-Objekt (programmgesteuert)
In diesem Thema erfahren Sie, wie Sie eine SQL Server Compact 3.5-Datenbank mithilfe der CreateDatabase-Methode des SqlServerCe.Engine-Objekts programmgesteuert erstellen. Weitere Informationen zum Verwenden des SqlServerCe-Namespaces finden Sie in der Referenzdokumentation zum SqlServerCe-Namespace.
Verfahren für SQL Server Compact 3.5
So erstellen Sie eine Datenbank mit dem Engine-Objekt
Initialisieren Sie ein neues Engine-Objekt.
SqlCeEngine engine = new SqlCeEngine();
Rufen Sie die LocalConnectionString-Methode des Engine-Objekts auf. Die LocalConnectionString-Eigenschaft gibt den Namen und den Speicherort der Datenbank an, die erstellt wird. Sie kann auch zusätzliche Datenbankoptionen angeben, einschließlich der Verschlüsselung.
eng.LocalConnectionString= "Data Source='Test.sdf'; LCID=1033;" + "Password='<enterStrongPasswordHere>'; Encrypt = TRUE;";
Rufen Sie die CreateDatabase-Methode auf, um die Datenbank zu erstellen.
engine.CreateDatabase();
So erstellen Sie eine Datenbank mithilfe des Engine-Objekts, bei der die Groß-/Kleinschreibung berücksichtigt wird
Initialisieren Sie ein neues Engine-Objekt.
SqlCeEngine engine = new SqlCeEngine();
Rufen Sie die LocalConnectionString-Methode des Engine-Objekts auf. Die LocalConnectionString-Eigenschaft gibt den Namen und den Speicherort der Datenbank an, die erstellt wird. Sie kann auch zusätzliche Datenbankoptionen angeben, einschließlich der Einstellung zur Berücksichtigung der Groß-/Kleinschreibung.
eng.LocalConnectionString= "Data Source='Test.sdf'; LCID=1033;" + "Password='<enterStrongPasswordHere>'; Case Sensitive = TRUE;";
Rufen Sie die CreateDatabase-Methode auf, um die Datenbank zu erstellen.
engine.CreateDatabase();
Beispiel
Im ersten Beispiel wird eine neue Datenbank mit dem Namen Test.sdf erstellt.
System.IO.File.Delete("Test.sdf");
string connString = "Data Source = 'Test.sdf'; LCID=1033; Password = <enterStrongPasswordHere>; Encrypt = TRUE;";
SqlCeEngine engine = new SqlCeEngine(connString);
engine.CreateDatabase();
System.IO.File.Delete("Test.sdf")
Dim connString As String = "Data Source='Test.sdf'; LCID=1033; Password=<enterStrongPasswordHere>; Encrypt = TRUE;"
Dim engine As New SqlCeEngine(connString)
engine.CreateDatabase()
Im zweiten Beispiel wird die LocalConnectionString-Eigenschaft verwendet. Diese unterstützt die zusätzliche Eigenschaft "Case Sensitive" oder "CaseSensitive" vom Typ Boolean. Diese Eigenschaft kann entweder den Wert true oder den Wert false haben. Der Standardwert ist stets false. Diese Eigenschaft wurde mit der Version SQL Server Compact 3.5 SP1 eingeführt. Weitere Informationen finden Sie unter Arbeiten mit Sortierungen (SQL Server Compact).
In diesem Beispiel wird dargestellt, wie die Eigenschaft zur Berücksichtigung der Groß-/Kleinschreibung unter Verwendung der LocalConnectionString-Eigenschaft in einer Verbindungszeichenfolge festgelegt wird. Im Codebeispiel wird daraufhin die GetDatabaseInfo-Methode verwendet, um das Gebietsschema, den Verschlüsselungsmodus und den Wert der Einstellung zur Berücksichtigung der Groß-/Kleinschreibung der Datenbank abzurufen.
// First approach:
// Create a case-sensitive database by using the SqlCeEngine
// constructor.
if (File.Exists("Test.sdf"))
File.Delete("Test.sdf");
// 1033: specifies the English locale with collation
// SQL_Latin1_General_CP1_CI_AS
string connStr =
"Data Source='Test.sdf'; LCID=1033; Case Sensitive = TRUE";
SqlCeEngine engine = new SqlCeEngine(connStr);
engine.CreateDatabase();
engine.Dispose();
// Second approach:
// Create a case-sensitive database by using the LocalConnectionString
// property.
if (File.Exists("Test.sdf"))
File.Delete("Test.sdf");
SqlCeEngine engine2 = new SqlCeEngine();
engine2.LocalConnectionString =
"Data Source='Test.sdf'; LCID=1033; Case Sensitive = TRUE";
// 1033: specifies the English locale with collation
// SQL_Latin1_General_CP1_CI_AS
engine2.CreateDatabase();
engine2.Dispose();
SqlCeConnection conn = null;
try
{
conn = new SqlCeConnection(connStr);
conn.Open();
//Retrieve the connection string information -
// notice the 'Case Sensitive' value
List<KeyValuePair<string, string>> dbinfo = conn.GetDatabaseInfo();
Console.WriteLine("\nGetDatabaseInfo() results:");
foreach (KeyValuePair<string, string> kvp in dbinfo)
{
Console.WriteLine(kvp);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
Console.WriteLine("\n\n\nPress any key to continue...");
Console.Read();
}
' First approach:
' Create a case sensitive database by using the SqlCeEngine
' constructor.
If File.Exists("Test.sdf") Then
File.Delete("Test.sdf")
End If
' 1033: specifies the English locale with collation
' SQL_Latin1_General_CP1_CI_AS
Dim connStr As String = "Data Source='Test.sdf'; LCID=1033; Case Sensitive = TRUE"
Dim engine As New SqlCeEngine(connStr)
engine.CreateDatabase()
engine.Dispose()
' Second approach:
' Create a case-sensitive database by using the LocalConnectionString
' property.
If File.Exists("Test.sdf") Then
File.Delete("Test.sdf")
End If
Dim engine2 As New SqlCeEngine
engine2.LocalConnectionString = _
"Data Source='Test.sdf'; LCID=1033; Case Sensitive = TRUE"
' 1033: specifies the English locale with collation
' SQL_Latin1_General_CP1_CI_AS
engine2.CreateDatabase()
engine2.Dispose()
Dim conn As SqlCeConnection = Nothing
Try
conn = New SqlCeConnection(connStr)
conn.Open()
'Retrieve the connection string information -
' notice the 'Case Sensitive' value
Dim dbinfo As List(Of KeyValuePair(Of String, String)) = conn.GetDatabaseInfo
Console.WriteLine(ChrW(10) & "GetDatabaseInfo() results:")
Dim kvp As KeyValuePair(Of String, String)
For Each kvp In dbinfo
Console.WriteLine(kvp)
Next
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
conn.Close()
Console.WriteLine(vbNewLine & vbNewLine & vbNewLine & "Press any key to continue...")
Console.Read()
End Try
Siehe auch
Andere Ressourcen
Übersicht über das Datenbankmodul (SQL Server Compact)