1) l'Exige .NET framework 4 mis à jour au moins 4.0.2. Si vous avez 4.0.2, alors vous devriez avoir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.2
Si vous avez installé les dernières VS 2012 les chances sont que vous avez déjà 4.0.2. Suffit de vérifier en premier.
2) Ensuite, vous devez avoir une instance de LocalDb
. Par défaut, vous disposez d'une instance dont le nom est unique, v
caractère, suivi par le LocalDB version numéro de version dans le format xx.x. Par exemple, v11.0
représente SQL Server 2012. Automatique instances sont publics par défaut. Vous pouvez également avoir nommé les instances qui en sont privés. Les instances nommées assurer l'isolement à partir d'autres instances et d'améliorer les performances en réduisant les conflits de ressources avec d'autres utilisateurs de base de données. Vous pouvez vérifier le statut des instances à l'aide de l' SqlLocalDb.exe
utilitaire (à exécuter en ligne de commande).
3) à Côté de votre chaîne de connexion doit ressembler à:
"Server=(localdb)\\v11.0;Integrated Security=true;"
ou
"Data Source=(localdb)\\test;Integrated Security=true;"
à partir de votre code. Ils ont tous les deux sont les mêmes. Remarquez les deux \\
nécessaire car l' \v
et \t
moyen de caractères spéciaux. Notez également que ce qui apparaît après (localdb)\\
est le nom de votre LocalDb instance. v11.0
la valeur par défaut est public de l'instance, test
est quelque chose que j'ai créé manuellement ce qui est privé.
-
Si vous avez une base de données (.fichier mdf) déjà:
"Server=(localdb)\\Test;Integrated Security=true;AttachDbFileName= myDbFile;"
-
Si vous n'avez pas de base de données Sql Server:
"Server=(localdb)\\v11.0;Integrated Security=true;"
Et vous pouvez créer votre propre base de données par programmation:
a) pour l'enregistrer à l'emplacement par défaut avec la configuration par défaut:
var query = "CREATE DATABASE myDbName;";
b) Pour l'enregistrer dans un emplacement spécifique avec vos propres paramètres personnalisés:
// 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%)" +
";";
Et de les exécuter!
Un exemple de table peut être chargé dans la base de données avec quelque chose comme:
@"CREATE TABLE supportContacts
(
id int identity primary key,
type varchar(20),
details varchar(30)
);
INSERT INTO supportContacts
(type, details)
VALUES
('Email', 'admin@sqlfiddle.com'),
('Twitter', '@sqlfiddle');";
Notez que SqlLocalDb.exe
utilitaire ne marche pas vous donner accès à des bases de données, vous séparément besoin d' sqlcmd
utilitaire qui est triste..
EDIT: déplacé de la position de point-virgule sinon erreur se produit si le code a été copié/collé