sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är anslutningssträngen för localdb för version 11

  1. Kräver .NET Framework 4 uppdaterad till minst 4.0.2. Om du har 4.0.2 bör du ha

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

Om du har installerat senaste VS 2012 är chansen stor att du redan har 4.0.2. Bara verifiera först.

  1. Därefter måste du ha en instans av LocalDb . Som standard har du en instans vars namn är en enda v tecken följt av versionsnumret för LocalDB-versionen i formatet xx.x. Till exempel, v11.0 representerar SQL Server 2012. Automatiska instanser är offentliga som standard. Du kan också ha namngivna instanser som är privata. Namngivna instanser isolerar från andra instanser och kan förbättra prestandan genom att minska resursstridigheter med andra databasanvändare. Du kan kontrollera instansernas status med hjälp av SqlLocalDb.exe verktyg (kör det från kommandoraden).

  2. Därefter bör din anslutningssträng se ut så här:

    "Server=(localdb)\v11.0;Integrerad säkerhet=true;"eller

    "Datakälla=(localdb)\test;Integrated Security=true;"

från din kod . De båda är likadana. Lägg märke till de två \\ krävs eftersom \v och \t betyder specialtecken. Observera också att det som visas efter (localdb)\\ är namnet på din LocalDb-instans. v11.0 är den offentliga standardinstansen, test är något jag har skapat manuellt som är privat.

  1. Om du redan har en databas (.mdf-fil):

     "Server=(localdb)\\Test;Integrated Security=true;AttachDbFileName= myDbFile;"
    
  2. Om du inte har en SQL Server-databas:

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

Och du kan skapa din egen databas programmatiskt:

a) för att spara den på standardplatsen med standardinställning:

var query = "CREATE DATABASE myDbName;";

b) Spara det på en specifik plats med dina egna anpassade inställningar:

// 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%)" +
    ";";

Och kör!

En exempeltabell kan laddas in i databasen med något som:

 @"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');";

Observera att SqlLocalDb.exe verktyget ger dig inte tillgång till databaser, du behöver separat sqlcmd verktyg som är sorgligt..



  1. Konstigt beteende i Postgresql

  2. Använder RegEx i SQL Server

  3. Meddelar att SQL Compliance Manager 5.9 är allmänt tillgänglig

  4. Hur man konverterar en Unix-tidsstämpel till ett datum-/tidsvärde i PostgreSQL