none
Como configuraer el Control OleDbDataAdapter RRS feed

  • Pregunta

  • Buenas tardes, estoy generando un proyecto de visual basic .NET  2017, en dicho proyecto tengo una base de datos llamada Alumnos.mdf, contiene una sola tabla llamada Table. estoy poniendo un control OleDbDataAdapter para configurarlo y que aparezca un control OleDbConnection1.

    El problema que tengo es que al abrir el "Asistente para configuración del adaptador de datos" donde pregunta ¿Qué conexión de datos debe utilizar el adaptador de datos" no aparece nada, al pulsar el botón "Nueva conexión", en el cuadro "Anexar conexión" en origen de datos selecciono en Cambiar aparecen tres opciones, una para Access, una para Oracle y una para SQL, seleccione "SQL".

    En nombre del servidor no aparece nada y si pulso el botón actualizar manda un mensaje que dice "Espere mientras recuperamos la lista de servidores", termina y sigue sin aparecer nada, capturo el nombre "(LocalDB)\v11.0", sin las comillas y se activa "Establecer conexión con una base de datos", selecciono el radiobutton "Adjuntar un archivo de base de datos:" y navego hasta donde esta el archivo Alumnos.mdf

    Al dar clic en el botón "Aceptar" ya no me permite continuar y me manda un mensaje en ingles que traducido mas o menos dice así:

    un intento de adjuntar una base de datos con nombre automático para el archivo "ruta del archivo con extensión .mdf" falló. Existe una base de datos con el mismo nombre, o no se puede abrir el archivo especificado, o se encuentra en el recurso compartido UNC.

    No se pudo abrir la nueva base de datos
    Se anula la creación de la base de datos "numero con ruta de la base de datos.mdf".

    La base de datos
    El mismo "número con la ruta de la base de datos.mdf" no se puede abrir porque es la versión 852. Este servidor admite la versión 706 y anteriores. Una ruta de bajada no es compatible.

    Muchas gracias de antemano

    jueves, 25 de abril de 2019 1:48

Todas las respuestas

  • Creo que la clave está aquí: "... no se puede abrir porque es la versión 852. Este servidor admite la versión 706 y anteriores. Una ruta de bajada no es compatible."

    Eso te está diciendo que el .mdf se creó con una versión de SQL Server que era más moderna que la versión que estás intentando usar para abrirlo. Eso no funciona, solo es compatible "hacia atrás" pero no "hacia adelante", es decir, un SQL Server moderno puede abrir un .mdf antiguo pero no al contrario.

    706 es un SQL 2012, que debe ser el que tienes instalado. 852 es un SQL 2016, que es el que creó ese .mdf.

    • Propuesto como respuesta Pablo Rubio jueves, 25 de abril de 2019 14:22
    jueves, 25 de abril de 2019 6:02
  • Pablo Rubio, buenos días, gracias por tu apoyo y claro que tu comentario tiene mucha lógica y lo entiendo.

    En realidad todo el trabajo lo estoy realizando en mi computadora. SQL no lo he instalado, todo lo he realizado desde Visual Estudio 2017 y eso es lo único que se ha instalado.

    La base de datos la genere desde dentro de un proyecto, la realice de la siguiente manera: desplegué el menú "Proyecto", seleccioné la opción "Agregar nuevo elemento...", en el cuadro de dialogo que abrió escogí la opción "Base de datos basada en servicio", aquí es donde le di el nombre a la base de datos con extensión .mdf.

    Posteriormente generé la estructura de una tabla y al momento de insertar el control OleDbDataAdapter es donde me surgió el problema.

    Hay alguna manera de que la BD se genere en una versión anterior a la que se está generando?, por ejemplo, que en lugar de generarse en una versión 2016 se haga en una versión 2012?, supongo que eso resolvería el problema y me permitiría continuar.

    Gracias por tu valioso apoyo.

    • Propuesto como respuesta Pablo Rubio jueves, 2 de mayo de 2019 18:49
    miércoles, 1 de mayo de 2019 11:31
  • Al instalar Visual Studio se instala automáticamente un SQL Server LocalDb, salvo que le digas lo contrario. Pero lo curioso es que al crear la BD desde un sitio te la ha creado con una versión y al abrirla te la abre con otra. Es como si tuvieses instaladas dos versiones de SQL Server, que es lícito pero no debería ocurrir de forma automática salvo que hayas instalado algún otro producto que incluyese otra versión.

    Yo soy partidario de instalar en la máquina de desarrollo un SQL Server "de verdad" (la edición Developer es gratuita), y crear a mano las bases de datos y montarlas manualmente sobre el servicio SQL en lugar de usar el montaje automático sobre LocalDB. Después, a la hora de usarla, seleccionas el servidor que has instalado y su base de datos, y si es necesario editas a mano la cadena de conexión para cerciorarte de que tiene todos los datos correctos. Sí, esto es (ligeramente) más costoso que usar el automatismo de Visual Studio, pero funciona siempre y tienes el control exacto de qué es lo que se esta montando y dónde se monta, que al fin y al cabo necesitarás saberlo de todas maneras cuando despliegues el proyecto para pasarlo a producción.

    • Propuesto como respuesta Pablo Rubio jueves, 2 de mayo de 2019 14:41
    miércoles, 1 de mayo de 2019 12:37