【问题标题】:The database cannot be opened because it is version 839. This server supports version 782 and earlier. A downgrade path is not supported无法打开数据库,因为它是 839 版本。此服务器支持版本 782 及更早版本。不支持降级路径
【发布时间】:2015-11-24 17:35:07
【问题描述】:

我在我的电脑中创建了一个包含本地数据库(Microsoft SQL 数据库服务器)(mdf)的 C# 项目,该项目运行良好。但是每当我使用笔记本电脑运行它时,它都会给我这个错误:

无法打开数据库“C:(路径)\CALENDER.MDF”,因为它是 839 版本。此服务器支持 782 及更早版本。不支持降级路径。

每次我尝试刷新服务器资源管理器时都会出现此错误。我需要它在我的笔记本电脑上工作,因为我用它来进行课堂演示。

【问题讨论】:

  • 你必须在新版本的sql server中打开,然后保存为旧版本
  • 您的笔记本电脑运行的是旧版本的 SQL Server。尝试将其升级到与您的桌面相同的版本。
  • @Mihai 我已经安装了sql server 2014 express
  • 我认为839版本来自Sql Server 2016 CTP3.0
  • @Steve 我将安装 Sql Server 2016 CTP3.0 并检查是否能解决问题。

标签: c# sql-server visual-studio-2015


【解决方案1】:

经过长时间的研究和尝试,我想出了如何解决这个问题。它有点复杂。我将 mdf 数据库转换为并访问(mdb)并将数据从 mdb 导入新的 mdf 数据库。

这些是步骤:

  1. 创建一个空的访问 (mdb) 数据库。
  2. 使用 SQL Server 2016 CTP3.0 导入和导出数据:将数据从数据库(在我的情况下为 calander.mdf)导入到新的访问数据库 (mdb)。
  3. 现在在目标电脑中,创建一个新的 vs 表单并添加一个新的空 mdf 数据库。
  4. 使用 Microsoft SQL Server Management Studio(数据库 > 右键单击​​新数据库 > 键入数据库名称并单击确定。)
  5. 鼠标右键单击您的数据库名称并将鼠标悬停在任务上,然后选择导入数据。
  6. 选择数据源 Microsoft Access(Microsoft Access 数据库引擎)并浏览到 access 数据库并单击下一步。
  7. 在 Destination 中选择 Net Framework Data Provider For SqlServer 并键入新创建的空 mdf 数据库的连接字符串。然后单击下一步并完成。
  8. 将新的 mdf 数据库复制到您的项目文件中
  9. 现在你得到了充满数据的新数据库,剩下的就是转到你的主项目并删除数据库,然后添加新的现有项目并浏览到新数据库和日志文件和时钟确定。并且数据库应该可以工作

和我一起工作!!!!!!

【讨论】:

  • 好吧,那是一段很长的路,我很高兴它对你有用。我仍然没有弄清楚哪个数据库文件应用了 839 版本号。如果您在 2016 CTP 上运行此查询,返回的版本号是多少? 选择 DATABASEPROPERTYEX('master', 'version')
  • @Steve 我刚刚说的是 782,我认为没有比 SQL Server 2016 CTP 3.0 更高的版本
  • 嗯,奇怪,这和我的号码一样,我很确定刚刚安装了 Sql Server 2014
  • @Steve 大多数人都有数据库版本 782 和服务器支持版本 706 及更早版本的问题。我什至没有找到任何关于 839 的信息。
猜你喜欢
  • 2016-08-25
  • 1970-01-01
  • 2013-08-23
  • 2020-06-26
  • 2013-07-20
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多