使用本地数据库开发sql应用程序

时间:2011-09-29 14:08:50

标签: c# .net sql local-database

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

5 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您想使用SQL Compact Edition(正如您所说的数据库文件扩展名为.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/)。如果您不想在数据库中使用触发器/过程/视图等功能,则仍然可以使用CE。

答案 4 :(得分:0)

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