2011-09-29 84 views
1

我正在启动将与Microsoft SQL数据库交互的应用程序(c#,.net)。我需要多个客户端同时访问数据的能力,所以我打算使用基于服务的数据库(.mdf)。是否可以使用本地数据库(.sdf)开发应用程序,然后在需要部署时将其轻松切换到基于服务的数据库?这是它通常如何进行这种类型的开发?使用本地数据库开发sql应用程序

回答

0

如果两个后端数据库模式都完全相同,那么您需要做的仅仅是在准备好移动到基于服务的数据库时更改连接字符串。 请注意,模式中的轻微变化可能(也可能会)导致问题。

1

您可以通过在.config文件中将连接字符串提供给数据库来控制数据源。

甚至可以使用不同的连接字符串创建.config文件的调试版本和发布版本。调试可以指向您的本地机器并发布到生产环境。

1

开发商店各不相同,但在本地开发使用SQL Express的应用程序并在生产环境中使用SQL Server的完整安装很常见。

我建议的唯一事情是确保您为开发环境选择的数据库支持与您期望的相同功能。例如,当您希望在生产环境中使用Oracle时,请勿在开发箱上使用SQL Express。

0

你想使用SQL精简版(正如你所说的数据库文件扩展名是.sdf),对吧?您可以使用MSSQL Express Edition,因为它更像完整的MSSQL Server,并且仍然是免费的,在开发人员的机器上安装起来并不困难(我个人更喜欢这个选项)。两者之间存在差异(如此处所述:http://blog.sqlauthority.com/2009/04/22/sql-server-difference-between-sql-server-compact-edition-ce-and-sql-server-express-edition/)。如果你不想在你的数据库中使用triggers/procedures/views等功能,你仍然可以使用CE。

0

如果您有多个客户端,那么您应该使用SQL Server Express(.mdf文件) - SQL Server Compact(.sdf文件)在构建要部署在客户端计算机上的应用程序时很有用,并且将运行独立的,例如Windows窗体应用程序与本地数据库。 SQL Server Compact只是MS Access .mdb文件或SQLite(所谓的“嵌入式数据库”)的替代品,而SQL Server Express是一种真正的数据库服务器(尽管有一些限制使其不适用于大型商业应用程序),应该是在多个客户使用中央数据库的情况下使用,例如Web应用程序和智能客户端应用程序(后者也可以使用本地嵌入式数据库)。

相关问题