-
Requiere .NET Framework 4 actualizado a al menos 4.0.2. Si tiene 4.0.2, entonces debería tener
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319\SKUs.NETFramework,Versión=v4.0.2
Si ha instalado el último VS 2012, es probable que ya tenga 4.0.2. Simplemente verifique primero.
-
A continuación, debe tener una instancia de
LocalDb
. De forma predeterminada, tiene una instancia cuyo nombre es un solov
seguido del número de versión de lanzamiento de LocalDB en el formato xx.x. Por ejemplo,v11.0
representa SQL Server 2012. Las instancias automáticas son públicas de forma predeterminada. También puede tener instancias con nombre que sean privadas. Las instancias con nombre brindan aislamiento de otras instancias y pueden mejorar el rendimiento al reducir la contención de recursos con otros usuarios de la base de datos. Puede verificar el estado de las instancias usandoSqlLocalDb.exe
utilidad (ejecútela desde la línea de comandos). -
A continuación, su cadena de conexión debería verse así:
"Servidor=(localdb)\v11.0;Seguridad integrada=true;"o
"Fuente de datos=(localdb)\test;Seguridad integrada=true;"
de su código . Ambos son iguales. Observe los dos \\
requerido porque \v
y \t
significa caracteres especiales. También tenga en cuenta que lo que aparece después de (localdb)\\
es el nombre de su instancia de LocalDb. v11.0
es la instancia pública predeterminada, test
es algo que he creado manualmente que es privado.
-
Si ya tiene una base de datos (archivo .mdf):
"Server=(localdb)\\Test;Integrated Security=true;AttachDbFileName= myDbFile;"
-
Si no tiene una base de datos de Sql Server:
"Server=(localdb)\\v11.0;Integrated Security=true;"
Y puede crear su propia base de datos mediante programación:
a) para guardarlo en la ubicación predeterminada con la configuración predeterminada:
var query = "CREATE DATABASE myDbName;";
b) Para guardarlo en una ubicación específica con su propia configuración personalizada:
// 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%)" +
";";
¡Y ejecutar!
Se puede cargar una tabla de muestra en la base de datos con algo como:
@"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');";
Tenga en cuenta que SqlLocalDb.exe
la utilidad no le da acceso a las bases de datos, necesita por separado sqlcmd
utilidad que es triste..