Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie lautet die Verbindungszeichenfolge für localdb für Version 11

  1. Erfordert .NET Framework 4, aktualisiert auf mindestens 4.0.2. Wenn Sie 4.0.2 haben, sollten Sie es haben

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319\SKUs.NETFramework,Version=v4.0.2

Wenn Sie das neueste VS 2012 installiert haben, haben Sie wahrscheinlich bereits 4.0.2. Einfach zuerst bestätigen.

  1. Als nächstes benötigen Sie eine Instanz von LocalDb . Standardmäßig haben Sie eine Instanz, deren Name ein einzelnes v ist Zeichen gefolgt von der Versionsnummer der LocalDB-Version im Format xx.x. Beispiel:v11.0 stellt SQL Server 2012 dar. Automatische Instanzen sind standardmäßig öffentlich. Sie können auch benannte Instanzen haben, die privat sind. Benannte Instanzen bieten Isolierung von anderen Instanzen und können die Leistung verbessern, indem Ressourcenkonflikte mit anderen Datenbankbenutzern reduziert werden. Sie können den Status von Instanzen mit SqlLocalDb.exe überprüfen Dienstprogramm (führen Sie es von der Befehlszeile aus).

  2. Als nächstes sollte Ihre Verbindungszeichenfolge wie folgt aussehen:

    "Server=(localdb)\v11.0;Integrated Security=true;"oder

    "Datenquelle=(localdb)\test;Integrierte Sicherheit=true;"

aus Ihrem Code . Sie sind beide gleich. Beachten Sie die beiden \\ erforderlich, weil \v und \t bedeutet Sonderzeichen. Beachten Sie auch, was nach (localdb)\\ erscheint ist der Name Ihrer LocalDb-Instanz. v11.0 ist die standardmäßige öffentliche Instanz test ist etwas, das ich manuell erstellt habe und das privat ist.

  1. Wenn Sie bereits eine Datenbank (.mdf-Datei) haben:

     "Server=(localdb)\\Test;Integrated Security=true;AttachDbFileName= myDbFile;"
    
  2. Wenn Sie keine SQL Server-Datenbank haben:

     "Server=(localdb)\\v11.0;Integrated Security=true;"
    

Und Sie können Ihre eigene Datenbank programmgesteuert erstellen:

a) um es am Standardspeicherort mit der Standardeinstellung zu speichern:

var query = "CREATE DATABASE myDbName;";

b) So speichern Sie es an einem bestimmten Ort mit Ihren eigenen benutzerdefinierten Einstellungen:

// your db name
string dbName = "myDbName";

// path to your db files:
// ensure that the directory exists and you have read write permission.
string[] files = { Path.Combine(Application.StartupPath, dbName + ".mdf"), 
                   Path.Combine(Application.StartupPath, dbName + ".ldf") };

// db creation query:
// note that the data file and log file have different logical names
var query = "CREATE DATABASE " + dbName +
    " ON PRIMARY" +
    " (NAME = " + dbName + "_data," +
    " FILENAME = '" + files[0] + "'," +
    " SIZE = 3MB," +
    " MAXSIZE = 10MB," +
    " FILEGROWTH = 10%)" +

    " LOG ON" +
    " (NAME = " + dbName + "_log," +
    " FILENAME = '" + files[1] + "'," +
    " SIZE = 1MB," +
    " MAXSIZE = 5MB," +
    " FILEGROWTH = 10%)" +
    ";";

Und ausführen!

Eine Beispieltabelle kann folgendermaßen in die Datenbank geladen werden:

 @"CREATE TABLE supportContacts 
    (
        id int identity primary key, 
        type varchar(20), 
        details varchar(30)
    );
   INSERT INTO supportContacts
   (type, details)
   VALUES
   ('Email', '[email protected]'),
   ('Twitter', '@sqlfiddle');";

Beachten Sie, dass SqlLocalDb.exe Das Dienstprogramm gibt Ihnen keinen Zugriff auf Datenbanken, Sie benötigen sqlcmd separat Dienstprogramm, das traurig ist..