gpt4 book ai didi

winforms - 在 Winforms 中支持 SQL Server 2008 R2 和 2012 的 SQL Server 管理对象

转载 作者:行者123 更新时间:2023-12-04 05:21:05 25 4
gpt4 key购买 nike

我有一个面向 .NET 4.5 的 Windows 窗体应用程序。该应用程序提供了使用 SQL Server 管理对象 (SMO) 进行程序化数据库备份和还原的功能。

该应用程序应支持 SQL Server 2008 R2 和 SQL Server 2012 的 Express 版本,因为它仅使用两个版本都支持的功能。

现在,项目中要引用的 SMO 程序集(Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.Smo, Microsoft.SqlServer.SmoExtended 等)将位于不同的文件夹中,具体取决于客户端安装的 SQL Server 版本

SQL Server Express 2008 R2: C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies

SQL Server Express 2012: C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies

如您所见,当客户端运行 2008 R2 时,程序集将关闭 100\SDK文件夹,而对于那些想要运行 SQL Server 2012 的人,它们将在 110\SDK 中。文件夹。

所以如果我引用 100\SDK文件夹,对于运行 SQL Server 2012 的客户端,应用程序将中断,因为它们将只有 110\SDK文件夹。

那么这样的场景通常是如何处理的呢?

最佳答案

如果要开发使用 SQL Server 管理对象 (SMO) 的应用程序,则应在安装 SQL Server 时选择客户端工具 SDK。

要在不安装 SQL Server 的情况下安装客户端工具 SDK,请从 SQL Server 功能包安装共享管理对象。

如果您想确保将 SQL Server 管理对象安装在将运行您的应用程序的计算机上,您可以使用 SQL Server 功能包中的共享管理对象 .msi。

来源:Installing SMO - SQL Server 2012

按照带下划线的段落,我想我总是可以在客户端机器上安装一个通用的共享管理对象 msi,而不管运行的 sql server 版本如何。

关于winforms - 在 Winforms 中支持 SQL Server 2008 R2 和 2012 的 SQL Server 管理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com