Share via


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

  1. Initialisieren Sie ein neues Engine-Objekt.

    SqlCeEngine engine = new SqlCeEngine();
    
  2. 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;";
    
  3. 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

  1. Initialisieren Sie ein neues Engine-Objekt.

    SqlCeEngine engine = new SqlCeEngine();
    
  2. 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;";
    
  3. 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)

Hilfe und Informationen

Informationsquellen (SQL Server Compact 3.5 Service Pack 1)