我将开始一个个人项目,以在.net环境中增强我的技能。我熟悉SQL Server Management Studio以及如何在其中创建数据库,但是我也发现了如何在Visual Studio中创建本地数据库。我的程序只需要本地数据库访问权限,因为它将用于单个清单系统,而不是用于连接的清单系统。我可以在Visual Studio中使用板载工具并创建本地数据库吗?还是应该使用SQL Server Management Studio?
在VS中使用“本地数据库”项目模板时,它将创建一个SQL Server CE数据文件(SDF)并将其添加到您的项目中。当您使用基于服务的数据库项目Templete时,它将创建一个SQL Server(Express)数据文件(MDF)并将其添加到您的项目中。
使用VS工具的优点是数据文件成为项目的一部分,因此可以轻松地与已编译的应用程序一起部署。因此,数据库基本上是应用程序的一部分。
如果选择SQL Server CE,则不需要在用户的本地计算机上安装服务器。他们可以安装SQL Server CE,也可以根据需要将其与您的应用程序一起安装,但是您也可以选择在应用程序中简单地部署DLL,这样便可以使用。
如果选择SQL Server Express,则用户实际上需要在其计算机上安装SQL Server实例。坦白说,我不确定该实例是否必须是SQL Server Express或也可以是完整的SQL Server实例,所以不能100%确定。不过通常是SQL Server Express,根据您选择的部署方法,您可以在安装应用程序时安装甚至自动下载SQL Server Express。
如果使用VS工具创建MDF数据文件,则您的连接字符串将包含Data Source
和AttachDbFilename
属性。在Data Source
通常会“ \ SQLExpress”的形式,即名为‘SQLExpress’的形式在本地机器上的一个实例。该实例名称不是必需的,尽管它是SQL Server Express的默认名称,但它必须在本地计算机上。MDF文件在运行时被附加,并在您完成应用后再次分离。通常,它也将附加到用户实例,这意味着即使附加了它,其他用户也看不到它。请注意,在更高版本中,也可以利用SQL Server的LocalDB功能。
如果您在Management Studio中创建数据库,则该数据库实际上不是您的应用程序的一部分。它将永久地附加到SQL Server实例,因此,只要权限允许,每个人都可以看到并打开它。在这种情况下,在部署期间创建数据库将是一个额外的步骤。您可以在部署期间创建备份并还原该备份,或者生成可以运行的SQL脚本。在这种情况下,您的连接字符串将包含Initial Catalog
用于指定要连接的数据库名称的Data Source
属性以及该属性。如果您希望多个客户端能够连接到数据库,则此选项是必需的。
简而言之,如果只打算从一个应用程序的本地实例访问数据库,那么在VS中创建数据库就可以了,这可能是个好主意。是否选择SQL Server CE或SQL Server Express可能完全取决于所需的功能级别。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句