Я создал образец базы данных с помощью SQL Server 2014 Express и добавил его в свое решение Windows Form. Если дважды щелкнуть по нему, чтобы открыть, я получаю эту ошибку.
Невозможно открыть базу данных, потому что это версия 782. Этот сервер поддерживает версию 706 и более ранние. Переход на более раннюю версию не поддерживается
Я использую Visual Studio 2013. Я действительно не понимаю, что я использую две последние версии продуктов Microsoft, и они несовместимы. Я что-то упускаю? Как я могу открыть эту базу данных?
sql-server
visual-studio
Омер К
источник
источник
AttachDBFileName
). Предполагая, что база данных уже подключена к вашему локальному.\SQLEXPRESS
экземпляру, просто измените строки подключения, чтобы они указывали на этот сервер (Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...
), и прекратите использованиеAttachDBFileName
.Ответы:
Попробуйте изменить Tools> Options> Database Tools> Data Connections> SQL Server Instance Name.
По умолчанию для VS2013 установлено
(LocalDB)\v11.0
.(LocalDB)\MSSQLLocalDB
Например, изменение на, похоже, работает - больше нет ошибки версии 782.источник
(LocalDB)\v11.0
. При изменении имени сервера(LocalDB)\MSSQLLocalDB
эта ошибка о версии № исчезла.Попробуй поменять уровень совместимости , у меня работало.
Проверить, какой это уровень
USE VJ_DATABASE; GO SELECT compatibility_level FROM sys.databases WHERE name = 'VJ_DATABASE'; GO
Затем сделайте его совместимым со старой версией
ALTER DATABASE VJ_DATABASE SET COMPATIBILITY_LEVEL = 110; GO
По умолчанию Sql Server 2014 изменит совместимость версий db только на 2014, с помощью которого
@@ version
вы сможете определить, какая версия Sql Server.Затем запустите приведенную выше команду, чтобы изменить ее версию, которая у вас есть.
Дополнительный шаг: убедитесь, что доступность БД не сброшена, сделайте это, щелкнув правой кнопкой мыши свойства папки и базы данных. (убедитесь, что у вас есть права, чтобы вам не было отказано в доступе)
источник
Для меня использование решения, предоставленного codedom , не сработало. Здесь мы можем только изменить версию совместимости существующей базы данных.
Но актуальная проблема заключается в том, что версия внутренней базы данных не совпадает из-за изменений в формате хранения.
Ознакомьтесь с более подробной информацией о версии SQL Server и их внутренней версии db и уровне совместимости с Db здесь. Было бы хорошо, если бы вы создали свою базу данных с использованием версии SQL Server 2012 Express или ниже. Или начните использовать предварительную версию Visual Studio 2015.
источник
Это решение решает мою проблему: (от: https://msdn.microsoft.com/en-us/library/ms239722.aspx )
Чтобы навсегда прикрепить файл базы данных (.mdf) из узла подключения к данным
Откройте контекстное меню для подключений к данным и выберите «Добавить новое подключение».
Откроется диалоговое окно « Добавить соединение».
Нажмите кнопку " Изменить" .
Откроется диалоговое окно « Изменить источник данных ».
Выберите Microsoft SQL Server и нажмите кнопку ОК .
Снова появляется диалоговое окно « Добавить соединение » с Microsoft SQL Server (SqlClient), отображаемым в текстовом поле « Источник данных» .
В поле «Имя сервера» введите или перейдите к пути к локальному экземпляру SQL Server. Вы можете ввести следующее:
Для получения информации о SQL Server Express LocalDB и SQL Server Express см. Обзор локальных данных .
Выберите « Использовать проверку подлинности Windows» или « Использовать проверку подлинности SQL Server» .
Выберите « Прикрепить файл базы данных» , « Обзор» и откройте существующий файл .mdf.
Нажмите кнопку ОК .
Новая база данных появится в обозревателе серверов. Он будет оставаться подключенным к SQL Server, пока вы не отключите его явно.
источник
Другое решение - перенести базу данных, например, на 2012 год, когда вы «экспортируете» базу данных, например, из Sql Server manager 2014. Это делается в меню Задачи-> генерировать сценарии при щелчке правой кнопкой мыши по БД. Просто следуйте этой инструкции:
https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/
Он генерирует сценарии со всем, а затем в вашем диспетчере SQL-сервера, например, 2012 запускает сценарий, как указано в инструкции. Я успешно выполнил тест.
источник
Я использую VS 2017. По умолчанию имя экземпляра SQL Server - (LocalDB) \ MSSQLLocalDB. Однако, понизив уровень совместимости базы данных до 110, как в ответе @ user3390927, я мог прикрепить файл базы данных в VS, выбрав имя сервера как «localhost \ SQLExpress».
источник