如何在 Visual Studio 2022 中从 SQL Server 2008 R2 连接到较旧的(降级)数据库(.mdf 文件)?

How Do I Connect to an older (downgraded) database (.mdf file) from SQL Server 2008 R2 in Visual Studio 2022?

提问人:sami 提问时间:5/13/2023 最后编辑:marc_ssami 更新时间:5/13/2023 访问量:118

问:

我正在为客户端制作一个简单的 WinForms 应用程序。应用程序的数据库未在其 PC 上运行,因为他们收到消息

...无法打开 MDF 文件,因为它是 904 版本。服务器支持版本 852 及更早版本。不支持降级路径。

用户无法升级其 PC 的 SQL Server,因此我不得不降级数据库。我生成了旧数据库的脚本,在 SQL Server Management Studio 中连接到 SQL Server 2008 R8 实例,并在 2008 R2 版本中重新创建了数据库。现在我正在尝试将数据库作为数据源添加到我的项目中,但我收到以下错误:

enter image description here

我知道通过右键单击服务器资源管理器中的文件并修改连接,然后按 OK 将升级数据库。但我不想升级数据库。我只想连接到它。.mdf

当我使用文件本身修改连接字符串时,如下所示:.mdf

<connectionStrings>
    <add name="myDB" 
         connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\NewConstruction.mdf;Integrated Security=True"
         providerName="System.Data.SqlClient" />
</connectionStrings>

我收到以下错误:

System.Data.SqlClient.SqlException:“尝试为文件 C:\Users\medaw\source\repos\Construction\Construction\bin\Release\NewConstruction.mdf 附加自动命名数据库失败。存在同名的数据库,或者无法打开指定的文件,或者它位于 UNC 共享上。

sql-server winforms sql-server-2008-r2

评论

0赞 nbk 5/13/2023
您还需要旧系统,请在 Windows 7 和 VS 2017 中尝试
0赞 sami 5/13/2023
还有别的办法吗?我不能只在 Windows 7 和 VS 2017 上尝试它。我的互联网速度很慢,我没有足够的时间安装它们。
0赞 nbk 5/13/2023
SQL Server 不能在 Windows 10 或 11 下运行,看看你周围的人是否有许可证、密钥和 CD,但你不需要它 learningsqlserver.wordpress.com/2011/02/13/...... 安装 MDF,并且只使用基本的 SQL 命令,没有什么新的和花哨的,比如string_split左右,你需要检查你是否使用了一个函数,因为它是什么时候支持的, 程序的框架选择 Dot net 2,一切都会好起来的
0赞 sami 5/13/2023
那么,我做了一些研究,版本 852 是 SqlServer 2016。如果我将其从 2008 更改为 2016,我需要下载 VS2017 还是 Windows 7?
1赞 nbk 5/13/2023
就像你在这里看到的 learn.microsoft.com/de-de/visualstudio/releases/2022/... 您可以使用 VS 2022 为 WinDWS 7 和 SQL Server 2008 R2 进行开发,但如果您有 Windows 7 以外的其他东西,则需要一个适合的操作系统。基本问题是 dotn et frame 工作,例如在 windiows 7 中不支持 net 7,因此您需要检查您的客户端支持哪些,随着系统越来越旧,您需要 oder 和更旧的 Visual Studios,这就是为什么我有 vs 2005、vs 2010 和 vs 2017 的 vm,所有版本都在 Windows 10 下运行, 所以看看你的客户支持什么,安装VS

答: 暂无答案