2

我们正在从 SQL 2005 迁移到 SQL 2012,从 XP 迁移到 Win7。我以为我可以在 Windows 7 上安装/升级到 SQL 2012,但这并没有奏效。(我收到一条消息,指出“无法更新,因为未安装 SP4”,我尝试安装 SP3 和/或 SP4,但没有任何反应,即 Select @@version 不会从 9.0.3042 更改。)所以,我转储了SQL2005 并安装了 SQL2012,但现在我无法使用我的原始代码连接到服务器。我很确定它与这个语句有关,#import "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Resources\1033\sqldmo.rll" rename_namespace("sqldmo") 因为这是唯一的(我假设)标识 SQL2005 GUID(s?)。

那么,这个假设正确吗?有没有更好的方法连接到版本独立的服务器?我们的程序实际上创建了我们使用的数据库、表和存储过程。(所有对数据库表的访问都是通过存储过程。)

如果这是连接方式,那么我可以“只是”更改引用,重新编译并且一切都应该再次工作吗?

顺便说一句:我仍在使用 Visual Studio 6。我们有 VS2012,但我不确定使用它进行构建是否会导致更多问题。太多的工作永远都不够时间......

感谢您的任何建议....

4

1 回答 1

0

DMO 很久以前就被标记为弃用(据我所知是 2005 年),替代品是 SMO(一个 .NET 库)。恐怕你不能只是放入一个新的 DLL 并重新编译,而不是很长一段时间。

这真的取决于你在做什么。我会假设 DMO 代码被用于创建数据库对象,而不是连接到运行查询。如果是这种情况,那么您将需要替换该代码并实现运行创建数据库所需的查询的东西。

如果您实际上是通过 DMO 进行查询,那么您还有更多工作要做,因为您需要通过 ODBC 或从 7 到 2014 年一直兼容的类似工具进行连接。有很多示例如何做到这一点,但这将是一个更好的选择。

于 2013-10-29T20:30:51.300 回答