Información general de datos locales

Al utilizar los datos locales, conecte la aplicación a un archivo de base de datos en el equipo local, en lugar de una base de datos en un servidor independiente.Por ejemplo, puede conectar una aplicación que está desarrollando en Visual Studio a los siguientes archivos de base de datos locales:

  • Archivos de base de datos de SQL Server Compact (.sdf)

  • Archivos de base de datos de SQL Server Express LocalDB (.mdf)

  • Archivos de base de datos de SQL Server Express (.mdf)

  • Archivos de base de datos de Microsoft Access (.mdb)

La tabla siguiente proporciona vínculos a temas que describen cómo conectar la aplicación a los datos locales:

Tema

Descripción

Tutorial: Crear una base de datos de SQL Server Compact

Proporciona instrucciones paso a paso para crear un archivo de base de datos local que puede utilizar para probar las características de datos y compilar aplicaciones.

Tutorial: Crear una base de datos LocalDB

Proporciona instrucciones paso a paso para crear un archivo de base de datos local que puede utilizar para probar las características de datos y compilar aplicaciones.

Tutorial: Conectarse a datos en una base de datos de SQL Server Express LocalDB (Windows Forms)

Proporciona instrucciones paso a paso para conectar a SQL Server Express LocalDB una base de datos mientras se crea una aplicación Windows simple.

Tutorial: Conectar a los datos en una base de datos de Access (Windows Forms)

Proporciona instrucciones paso a paso para conectar a una base de datos de Microsoft Access.

Cómo: Conectar con la base de datos Northwind

Proporciona instrucciones para conectarse a la base de datos de ejemplo Northwind en SQL Server, SQL Server Compact, SQL Server Express, y Access.

Después de crear un origen de datos y lo configura para tener acceso a un archivo de datos local, trabaja con los datos utilizando las mismas tecnologías y objetos que utilizaría para trabajar con datos de cualquier otro origen.Para obtener más información, vea Crear aplicaciones de datos.

Integración de la aplicación de Into Para de la base de datos

Si se conecta a los datos locales, no sólo puede conectarse a un archivo de base de datos pero también integrarlo en la aplicación.Por ejemplo, puede abrir el menú de Proyecto , busque un archivo sdf, .mdf, o .mdb, y lo agrega al proyecto.

Si agrega archivos de datos locales, se crea un conjunto de datos con tipo y una cadena de conexión dinámica que señala al archivo de base de datos de la aplicación.Cuando agrega un archivo de base de datos al proyecto, utiliza Asistente para la configuración de orígenes de datos para especificar los objetos de inclusión.

[!NOTA]

Puede configurar automáticamente la conexión e iniciar Asistente para la configuración de orígenes de datos arrastrando un Explorador de archivo .sdf, .mdf, o .mdb desde el archivo en Explorador de soluciones.Puede especificar los objetos para usar en la aplicación.

Si utiliza Asistente para la configuración de orígenes de datos para crear el origen de datos de un archivo de datos local, se le pedirá que incluir el archivo en el proyecto.Si no lo incluye, su aplicación sólo contendrá la cadena de conexión que la ruta de acceso en el código señala, no el archivo de datos real.Para obtener más información, vea Cómo: Administrar archivos de datos locales en los proyectos.

Después de completar el asistente, el archivo de base de datos y el conjunto de datos aparecen en Explorador de soluciones/Explorador de bases de datos, y los objetos de la base de datos que especificó aparecen en la ventana de Orígenes de datos .Arrastrando elementos desde la ventana de Orígenes de datos a un formulario, puede crear controles enlazados a los datos subyacentes.Para abrir la ventana de Orígenes de datos , abra el menú de Datos y, a continuación Mostrar orígenes de datos.Para obtener más información, vea Enlazar controles a los datos en Visual Studio.

Mediante un archivo de base de datos en Visual Studio 2012

Antes de poder utilizar un archivo de base de datos existente (.mdf) en Visual Studio 2012, debe convertir probablemente en un archivo de base de datos de SQL Server 2012 .Cuando se conecta a un archivo de base de datos existente, un cuadro de mensaje le pregunta si desea actualizar.

Nota importanteImportante

Si actualiza el archivo de base de datos (.mdf), no podrá abrirlo en una versión anterior de SQL Server.

No necesita convertir el archivo de base de datos (.mdf) si Nombre de instancia de SQL Server se establece en SQLEXPRESS y el SQL Server 2008 Express.El SQL Server 2008 Express se instala si Visual Studio 2010 esté instalado.Para cambiar el nombre de instancia para este archivo de base de datos, Visual Studio 2012abierta, abra el cuadro de diálogo de Agregar conexión , especifica . \ SQLEXPRESS como nombre de servidor, y especifique la base de datos o el nombre de archivo de base de datos.

SQL Server Express LocalDB y SQL Server Express

Puede agregar un archivo de base de datos servicio- basado (.mdf) a cualquier proyecto en Visual Studio.Puede utilizar diseñadores de Visual Studio para diseñar las tablas y otros objetos de base de datos, y puede ejecutar consultas.

Cuando se crea una base de datos servicio- basada en Visual Studio 2012, utiliza el motor de SQL Server Express LocalDB para tener acceso al archivo de base de datos (.mdf), en versiones anteriores de Visual Studio utilizaban el motor de SQL Server Express.

SQL Server Express LocalDB es una versión ligera de SQL Server que puede programar de muchas de las mismas formas que una base de datos de SQL Server.SQL Server Express LocalDB se ejecuta en modo usuario, y puede instalarlo más rápidamente con menos requisitos previos y ninguna configuración.

[!NOTA]

Para obtener más información sobre SQL Server Express LocalDB, vea introducción de LocalDB, un Improved SQL Express y LocalDB: ¿Dónde es la base de datos? en el sitio Web de Microsoft.

En Visual Studio 2012, puede utilizar SQL Server Express de forma predeterminada en lugar de SQL Server Express LocalDB.En la barra de menú, elija Herramientas, Opciones.Bajo el nodo de Herramientas para bases de datos , elija Conexiones de datos.En el cuadro de texto de Nombre de instancia de SQL Server , entre en SQLEXPRESS.Como alternativa, puede especificar otros valores para el nombre de la instancia de SQL Server (por ejemplo, SQL2008).

La tabla siguiente describe las diferencias entre los motores de SQL Server Express LocalDB y SQL Server Express.

SQL Server Express LocalDB

SQL Server Express

Tipo de base de datos al crear una base de datos servicio- basada

En Visual Studio 2012, SQL Server Express LocalDB

En Visual Studio 2010 y anterior, SQL Server Express

Nombre de la instancia de SQL Server en herramientas y opciones

() \ V11.0 de LocalDB

SQLEXPRESS

Valor del origen de datos de cadena de conexión

() \ V11.0 de LocalDB

.\ SQLEXPRESS

Valor de AttachDbFilename en cadena de conexión

file path

file path

Se requiere la instancia de usuario (“user Instance=True” en una cadena de conexión)

No

Extensión de archivo de base de datos

.mdf

.mdf

Diferencias entre SQL Server Express LocalDB y SQL Server Compact

Las bases de datos en SQL Server Express LocalDB (.mdf) y SQL Server Compact (.sdf) difieren de las maneras siguientes:

  • SQL Server Express LocalDB es compatible con las ediciones servicio- basadas de SQL Server para las características que SQL Server Express LocalDB habilitada.En SQL Server, puede mover cualquier base de datos o código de Transact-SQL de SQL Server Express LocalDB a SQL Server o SQL Azure sin ningún paso de actualización.Por consiguiente, puede utilizar SQL Server Express LocalDB para desarrollar aplicaciones destinadas todas las ediciones de SQL Server.

  • Si utiliza SQL Server Express LocalDB, puede crear procedimientos almacenados, funciones definidas por el usuario y agregados, los tipos espaciales, y otros objetos que SQL Server Compact no admite, además de integrar la aplicación con .NET Framework.

  • SQL Server Express LocalDB es más sólido y escalable que SQL Server Compact en que SQL Server Express LocalDB admite el mismo optimizador de consultas y procesador de consultas que lo hagan ediciones más altas de SQL Server.

Las bases de datos de SQL Server Compact se pueden implementar en equipos de escritorio y dispositivos inteligentes.Para obtener más información, vea SQL Server Compact 4.0 y Visual Studio.

Cada copias de Contiene Dos del proyecto de base de datos

Cuando se compila un proyecto, el archivo de base de datos podría copiar de la carpeta raíz del proyecto a la salida, bin, carpeta.Este comportamiento depende de la propiedad de Copiar en el directorio de salida de archivo, y el valor predeterminado de esta propiedad depende del tipo de archivo de base de datos.

Para ver la carpeta de bin en Explorador de soluciones, elija el botón de Mostrar todos los archivos en la barra de herramientas.

[!NOTA]

La propiedad de Copiar en el directorio de salida no se aplica al web o proyectos de C++.

El archivo de base de datos de la carpeta raíz del proyecto se modifica únicamente cuando se edita el esquema o los datos de la base de datos mediante el Explorador de servidores/Explorador de bases de datos u otra herramienta de Visual Database Tools.

A medida que cambia datos durante el desarrollo de aplicaciones, está cambiando la base de datos en la carpeta de bin .Por ejemplo, si elige la tecla F5 para depurar la aplicación, se conectará a la base de datos en esa carpeta.

Valor de la propiedad de Copiar en el directorio de salida

Comportamiento

Copiar si es posterior (valor predeterminado para los archivos .sdf)

El archivo de base de datos se copia del directorio de proyecto en el directorio de bin la primera vez que compile el proyecto.La propiedad de Fecha de modificación de archivos se compara cada vez que compile de nuevo el proyecto.Si el archivo en la carpeta de proyecto es más reciente, ha copiado en bin la carpeta, reemplazando el archivo anterior.Si no, no se copia ningún archivo.

Nota de precauciónPrecaución
No se recomienda este valor para los archivos .mdb o .mdf.El archivo de base de datos puede cambiar incluso si los datos no cambian.El archivo se puede marcar como posterior si simplemente abra una conexión (por ejemplo, expanda el nodo de Tablas en Explorador de servidores).

Copiar siempre (valor predeterminado para los archivos .mdf y .mdb)

El archivo de base de datos se copia del directorio de proyecto en el directorio de bin cada vez que se compila la aplicación.Cualquier cambio realizado en el archivo de datos en la carpeta de salida se sobrescribirá la próxima vez que se ejecuta la aplicación.

No copiar

El sistema nunca sobrescribe el archivo en el directorio de bin .La aplicación crea una cadena de conexión dinámica que señala al archivo en el directorio de salida.Por consiguiente, debe copiar manualmente el archivo en el directorio de salida si desea que los datos en el directorio de salida para coincidir con los datos en el directorio del proyecto.

Problemas de común con datos locales

La tabla siguiente se explican los problemas comunes que podría encontrar mientras trabaja con archivos de datos locales.

Problema

Explicación

Cada vez que pruebo mi aplicación y modifico datos, mis cambios no aparecen la próxima vez que ejecuto mi aplicación.

El valor de la propiedad de Copiar en el directorio de salida es Copiar si es posterior o Copiar siempre.La base de datos en la carpeta de salida (la base de datos se está modificando cuando pruebe la aplicación) se sobrescribe cada vez que se compila el proyecto.Para obtener más información, vea Cómo: Administrar archivos de datos locales en los proyectos.

Aparece un mensaje, decir que el archivo de datos está bloqueado.

Access (archivos .mdb): Compruebe que el archivo no está abierto en otro programa, como Access.

SQL Server Express (archivos .mdf): SQL Express bloquea el archivo de datos si intenta copiarlo, mover, o cambiar de nombre fuera del IDE de Visual Studio.

Acceso denegado cuando los intentos de más de un usuario para tener acceso a la misma base de datos al mismo tiempo.

Visual Studio utiliza las instancias de usuario, que es una característica de SQL Server Express que crea una instancia independiente de SQL Server para cada usuario.Después de que los un usuario tiene acceso al archivo, cualquier usuario posterior no puedan conectar.Este problema puede producirse si, por ejemplo, si intenta ejecutar una aplicación Web en el Servidor y el IIS (IIS) de desarrollo de ASP.NET al mismo tiempo, porque generalmente IIS se ejecuta con una cuenta diferente.

Vea también

Tareas

Tutorial: Conectarse a datos en una base de datos de SQL Server Express LocalDB (Windows Forms)

Tutorial: Conectar a los datos en una base de datos de Access (Windows Forms)

Cómo: Agregar una base de datos de SQL Server Compact a un proyecto

Cómo: Implementar una base de datos de SQL Server Compact 4.0 con una aplicación

Tutorial: Crear una base de datos de SQL Server Compact

Tutorial: Agregar una base de datos de SQL Server Compact a una aplicación e implementarla