none
Problemas al conectar una base de datos SQL server 2008 r2 en Visual Studio C#2010 Express RRS feed

  • Pregunta

  • Hola buenas,

    Llevo toda la mañana perdida intentando conectar una simple base de datos creada por mí con SQL Server 2008 R2 con Visual Studio C# 2010 Express, pero por mucho que lo intento siempre hay algún error, y el que me sale ahora es éste:

    The database '.....' cannot be opened because it is version 782. This server supports version 655 and earlier. A downgrade path is not supported.

    No entiendo cómo un programa de 2010 no puede arrancar una base de datos de 2008, no lo entiendo y estoy desesperado ya. ¿Alguna idea...?

    lunes, 5 de febrero de 2018 10:43

Todas las respuestas

  • Un momento. Estas mezclando dos cosas. No es lo mismo la version del servidor de bases de datos que la version de una base de datos. A juzgar por el mensaje de error que te sale, estas intentanto abrir con el SQL Server 2008R2 un fichero de base de datos (.mdf) que se creo con una version mas reciente de SQL Server. Eso no esta soportado, un servidor SQL solo puede abrir bases de datos creadas con versiones mas antiguas, pero no las creadas con versiones mas modernas.

    Notese que esto es un problema de SQL Server, Visual Studio no tiene nada que ver. Te ocurriria exactamente el mismo problema si intentases montar la base de datos directamente desde SQL server, sin hacer intervenir para nada el Visual Studio.

    lunes, 5 de febrero de 2018 12:41
  • No, a ver, con el Microsoft Visual C# es con el que intento agregar una base de datos, que es la que he creado con el SQL Server sin problema alguno.

    Mi problema reside en agregar un origen de datos en Visual C# a partir de mi base de datos creada con SQL Server.

    lunes, 5 de febrero de 2018 15:13
  • Segun el mensaje de error, te esta usando otro servidor de base de datos. Puede ser que hayas instalado un SQL Server Express o un LocalDB junto con el Visual Studio y que estes intentando montar la base de datos con ese servidor (mas antiguo), en lugar de montarla con el 2008R2. Cerciorate de que la cadena de conexion al origen de datos apunta al servidor correcto y no a otro servidor con otra version.
    lunes, 5 de febrero de 2018 17:08
  • Vale, cierto es que tengo el SQL Server 2017 instalado y tiene toda la pinta de que esté intentando acceder a éste. No había caído en eso, para ahorrarme problemas, debería desinstalar el de 2017, ¿no?

    lunes, 5 de febrero de 2018 17:39
  • No, eso funcionaría bien. El 2017 es capaz de abrir las bases de datos del 2008R2. Lo que no funciona es lo contrario, es decir, un SQL Server más antiguo no puede abrir las bases de datos de uno moderno. Mi sospecha es que con el Visual Studio 2010 hayas instalado un SQL 2008 Express (que es la versión 655 que te sale en el mensaje de error), y que sea éste el que se queja de que no puede abrir la base de datos creada con el 2008R2 (que es más reciente que el 2008). 
    lunes, 5 de febrero de 2018 18:14

  • Era por esto por lo que estaba yo tan mosca, si se dijera que uso un Visual Studio anterior al SQL Server pues tendría más sentido, ya no sé qué hacer o qué probar, esto es a raíz de que tengo un examen de una asignatura de base de datos para esta semana y empleamos estos programas, he estado trasteando con los más recientes y eso (tanto el Visual C# más nuevo como el SQL Server), pero me empezó a dar problemas el SQL Server 2017 y por ello instalé el 2008R2 y el Visual C# 2010 y ahora tengo este problema.
    lunes, 5 de febrero de 2018 18:52
  • No tiene nada que ver. Se puede usar cualquier versión de Visual Studio con cualquier versión de SQL Server. La restricción importante es que si una base de datos ya está creada, entonces solo se puede abrir con una versión de SQL Server que sea igual o posterior a la versión que la creó. Da lo mismo cuál sea la versión de Visual Studio que le transmita al SQL Server el comando de abrir esa base de datos. Y también da igual cuál fue la versión de Visual Studio que originalmente le transmitió al SQL Server el comando de crear la base de datos. Lo que importa es qué versión de SQL Server la creó y qué versión de SQL Server está tratando de abrirla. Visual Studio nunca la abre por su cuenta, lo que hace es transmitirle a SQL Server el comando de que la abra. Y si tienes varios SQL Servers instalados, ¿a cuál se le transmite el comando? Pues si es desde programación, al que indique la cadena de conexión. Y si es desde la interfaz gráfica, se establece eligiéndolo al añadir el origen de datos (siempre lo puedes cambiar, o añadir varios orígenes de datos conectados a varios SQL Servers).
    lunes, 5 de febrero de 2018 22:27
  • Al parecer es un error del SQL Server 2008, al intentar desinstalarlo me salta este error:

    -------------------------------------------------------------------------

    SQL Server Setup has encountered the following error:

    No feature were uninstalled during the setup execution. The requested features may not be installed. Please review the summary.txt logs for further details.

    Error code 0x84B30002.

    ---------------------------------------------------------------------------

    He encontrado esto https://sqlblog.org/2010/10/25/fun-with-software-uninstalling-sql-server-2008-r2-evaluation-edition pero no sé cómo llegar a los registros del SQL Server.

    No entiendo cómo puede dar tantos problemas un programa, ¿si no se instala del todo bien por qué cuando se instala dice que todo es correcto y cuando se quiere desinstalar no te deja diciéndote que te da un problema porque no se instaló bien? Sólo quiero hacer un reset de todo esto e instalarlo bien desde cero y no quebrarme más la cabeza.

    martes, 6 de febrero de 2018 8:56