是否可以运行在sql server 2008上构建的应用程序以运行2005

时间:2013-11-27 06:15:39

标签: c# sql-server sql-server-2008 sql-server-2005 deployment

我有一个基于VS 2010构建的.NET 4.0,SQL Server 2008应用程序。

十多个月以来,我一直致力于一个项目,现在已经完成了。我转到创建软件安装的下一个任务。它也完成了。但现在我有一个大问题。

我的客户已经运行了运行SQL Server 2005的软件并将其安装在他们的系统上。然而,当我打包我的VS2010 C#应用程序时,我使用SQL Server 2008的先决条件部署它,但现在问题是,当我尝试安装我的应用程序时,它要求卸载2005然后安装{{1 }}。但我的客户非常严格,允许我的程序卸载他们系统上的任何应用程序。我被困在这里。

我还尝试将其从我的先决条件中删除,并且应用程序已成功安装,但在我尝试运行我的应用程序后,它无法访问数据库。

我如何解决这个问题?有没有办法使应用程序和数据库都适用于SQL Server 2005或2008.或者任何其他专家建议。

编辑1

由于我的项目是多语言的,所以我也有2008真正烦恼的东西,所以我有单独的函数来处理在SQL中插入的日期时间。

编辑2

是否可以使用我自己的Visual Studio部署项目将SQL Server 2005升级到2008?

编辑3

这是我得到的错误

  

系统组件SQL Server 2008 Express的先决条件检查失败,并显示以下错误消息:
  SQL Server 2008 Express Service Pack 1(x64)无法升级名为' SQLEXPRESS'的SQL Server 2005 Express(x64 WoW)的现有实例。卸载此SQL Server 2005 Express实例,然后重试安装SQL Server 2008 Express Service Pack 1(x64)。"

     

请参阅位于' C:\ Users \ BOOGI~1 \ AppData \ Local \ Temp \ VSD41A1.tmp \ install.log'的设置日志文件。了解更多信息。

编辑4(主要)

是否可以使Microsoft SQL Server数据库文件兼容以与SQL Server 2005和SQL Server 2008一起运行?

2 个答案:

答案 0 :(得分:1)

对任何版本的SQL Server运行应用程序通常不是问题。使用Management Studio创建数据库,您就可以开始使用了。

如果您有设置,则可能需要更改先决条件,以便它适用于SQL Server 2005.

您可能需要调整连接字符串。在您提供的错误消息中,很明显SQL Server的实例名称是“SQLEXPRESS”,因此您需要在连接字符串中添加它。

此外,并行运行SQL 2005 Express和2008 Express也不是问题。

答案 1 :(得分:0)

您可以做的一件事是在开发计算机或其他计算机上安装SQL 2005,然后将架构和数据从SQL Server 2008迁移到SQL Server 2005,并让您的C#应用​​程序再次运行。只要为每个适当的数据库安装了适当的驱动程序,.NET 4.0就不关心要连接到哪个版本的SQL服务器。

对于你的日期时间在SQL服务器中创建一个函数,以便它在两个版本中都可以工作。查看此link中的一些示例。

谢谢, Kalagen