sql >> Databáze >  >> RDS >> Sqlserver

Jaký je připojovací řetězec pro localdb pro verzi 11

  1. Vyžaduje .NET Framework 4 aktualizovaný alespoň na 4.0.2. Pokud máte 4.0.2, měli byste mít

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

Pokud jste nainstalovali nejnovější VS 2012, je pravděpodobné, že již máte 4.0.2. Nejprve to ověřte.

  1. Dále musíte mít instanci LocalDb . Ve výchozím nastavení máte instanci, jejíž název je jeden v znak následovaný číslem verze vydání LocalDB ve formátu xx.x. Například v11.0 představuje SQL Server 2012. Automatické instance jsou ve výchozím nastavení veřejné. Můžete mít také pojmenované instance, které jsou soukromé. Pojmenované instance poskytují izolaci od ostatních instancí a mohou zlepšit výkon omezením sporů o zdroje s ostatními uživateli databáze. Stav instancí můžete zkontrolovat pomocí SqlLocalDb.exe utility (spusťte jej z příkazového řádku).

  2. Dále by váš připojovací řetězec měl vypadat takto:

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

    "Zdroj dat=(localdb)\test;Integrované zabezpečení=true;"

z vašeho kódu . Oba jsou stejní. Všimněte si dvou \\ vyžadováno, protože \v a \t znamená speciální znaky. Všimněte si také, že to, co se objeví za (localdb)\\ je název vaší instance LocalDb. v11.0 je výchozí veřejná instance, test je něco, co jsem vytvořil ručně, což je soukromé.

  1. Pokud již máte databázi (soubor .mdf):

     "Server=(localdb)\\Test;Integrated Security=true;AttachDbFileName= myDbFile;"
    
  2. Pokud nemáte databázi SQL Server:

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

A můžete si vytvořit vlastní databázi programově:

a) uložte jej do výchozího umístění s výchozím nastavením:

var query = "CREATE DATABASE myDbName;";

b) Chcete-li jej uložit na konkrétní místo s vlastním nastavením:

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

A provést!

Ukázkovou tabulku lze načíst do databáze pomocí něčeho jako:

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

Všimněte si, že SqlLocalDb.exe utilita vám neposkytuje přístup k databázím, potřebujete samostatně sqlcmd nástroj, což je smutné..



  1. funkce velkého celého čísla

  2. Jak funguje CONCAT_WS() v MariaDB

  3. Jak obnovit data ze smazaného kontejneru Docker? Jak jej znovu připojit k datům?

  4. MySQL JOIN pouze k nejnovějšímu řádku?