J'ai créé un exemple de base de données à l'aide de SQL Server 2014 Express et je l'ai ajouté à ma solution Windows Form. Lorsque double-cliquez dessus pour l'ouvrir, j'obtiens cette erreur.
La base de données ne peut pas être ouverte car il s'agit de la version 782. Ce serveur prend en charge la version 706 et antérieure. Un chemin de rétrogradation n'est pas pris en charge
J'utilise Visual Studio 2013. Je ne comprends vraiment pas que j'utilise les deux dernières versions des produits Microsoft et qu'elles sont incompatibles. Est-ce que je manque quelque chose? Comment puis-je ouvrir cette base de données?
sql-server
visual-studio
Omer K
la source
la source
AttachDBFileName
). En supposant que la base de données est déjà attachée à votre.\SQLEXPRESS
instance locale , modifiez simplement les chaînes de connexion pour qu'elles pointent vers ce serveur (Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...
) et arrêtez d'utiliserAttachDBFileName
.Réponses:
Essayez de changer Tools> Options> Database Tools> Data Connections> SQL Server Instance Name.
La valeur par défaut pour VS2013 est
(LocalDB)\v11.0
.Le passage à
(LocalDB)\MSSQLLocalDB
, par exemple, semble fonctionner - plus d'erreur de version 782.la source
(LocalDB)\v11.0
. Changer le nom du serveur pour(LocalDB)\MSSQLLocalDB
faire disparaître cette erreur concernant la version #.Essayez de changer le niveau de compatibilité , a fonctionné pour moi.
Vérifiez de quel niveau il s'agit
USE VJ_DATABASE; GO SELECT compatibility_level FROM sys.databases WHERE name = 'VJ_DATABASE'; GO
Ensuite, rendez-le compatible avec l'ancienne version
ALTER DATABASE VJ_DATABASE SET COMPATIBILITY_LEVEL = 110; GO
Par défaut, Sql Server 2014 changera la compatibilité des versions de base de données en 2014 uniquement, en utilisant le,
@@ version
vous devriez être en mesure de dire quelle version est Sql Server.Ensuite, exécutez la commande ci-dessus pour changer la version que vous avez.
Étape supplémentaire: assurez-vous que vous regardez l'accessibilité de la base de données n'est pas réinitialisée, faites-le en cliquant avec le bouton droit sur les propriétés du dossier et de la base de données. (assurez-vous d'avoir des droits pour ne pas obtenir un accès refusé)
la source
Pour moi, l'utilisation de la solution fournie par codedom n'a pas fonctionné. Ici, nous ne pouvons modifier que la version de compatibilité de la base de données existante.
Mais le problème réel réside dans le fait que la version de la base de données interne ne correspond pas en raison des modifications apportées au format de stockage.
Consultez plus de détails sur la version SQL Server et leur version db interne et Db niveau de compatibilité ici donc il serait bon si vous créez votre base de données en utilisant SQL Server 2012 express Version ou ci - dessous. Ou commencez à utiliser Visual Studio 2015 Preview.
la source
Cette solution résout mon problème: (à partir de: https://msdn.microsoft.com/en-us/library/ms239722.aspx )
Pour attacher de manière permanente un fichier de base de données (.mdf) à partir du nœud Connexions de données
Ouvrez le menu contextuel des connexions de données et choisissez Ajouter une nouvelle connexion.
La boîte de dialogue Ajouter une connexion s'affiche.
Cliquez sur le bouton Modifier .
La boîte de dialogue Modifier la source de données s'affiche.
Sélectionnez Microsoft SQL Server et choisissez le bouton OK .
La boîte de dialogue Ajouter une connexion réapparaît, avec Microsoft SQL Server (SqlClient) affiché dans la zone de texte Source de données .
Dans la zone Nom du serveur, tapez ou recherchez le chemin d'accès à l'instance locale de SQL Server. Vous pouvez taper ce qui suit:
Pour plus d'informations sur SQL Server Express LocalDB et SQL Server Express, consultez Vue d'ensemble des données locales .
Sélectionnez Utiliser l'authentification Windows ou Utiliser l'authentification SQL Server .
Choisissez Joindre un fichier de base de données , Parcourir et ouvrez un fichier .mdf existant.
Cliquez sur le bouton OK .
La nouvelle base de données apparaît dans l'Explorateur de serveurs. Il restera connecté à SQL Server jusqu'à ce que vous le déconnectiez explicitement.
la source
Une autre solution consiste à migrer la base de données vers, par exemple, 2012 lorsque vous "exportez" la base de données à partir par exemple de Sql Server Manager 2014. Cela se fait dans le menu Tâches-> générer des scripts lorsque vous cliquez avec le bouton droit sur DB. Suivez simplement ces instructions:
https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/
Il génère un script avec tout, puis dans votre gestionnaire de serveur SQL, par exemple 2012, exécutez le script comme spécifié dans l'instruction. J'ai effectué le test avec succès.
la source
J'utilise VS 2017. Par défaut, le nom de l'instance SQL Server est (LocalDB) \ MSSQLLocalDB. Cependant, en rétrogradant le niveau de compatibilité de la base de données à 110 comme dans la réponse de @ user3390927, je pourrais attacher le fichier de base de données dans VS, en choisissant le nom du serveur comme "localhost \ SQLExpress".
la source