2015-04-30 178 views
0

我到处搜索过,但还没有找到直截了当的答案。更新一次部署

我部署了一个WinForms C#.NET应用程序,该应用程序使用LocalDb SQL Server 2012 Express数据库。数据库因此是项目中包含的数据文件。我想为许多表添加一些列,并且由于该项目部署在很多客户端,我想向他们发送一个脚本或某种文件,一旦他们运行它,他们的数据库会有这些变化。

这怎么办?没有SQL Management Studio,因此用户无法登录并在其中运行脚本。我需要它基础上的LocalDB上运行,并且不能在网上找到任何解决方案

+0

如果你的客户端所有的机器都在局域网内,那么你可以做一件事情,只需在主机/在哪里SQL安装变化在..自动chages已在所有客户端完成 – Vidhi

+0

有关用户下一个问题:http: //stackoverflow.com/questions/29965381/connect-to-database-from-sqlcmd,可以说是重复的。 – Tanner

回答

0

我会考虑执行SQL脚本的批处理文件,像这样:

sqlcmd -S <ComputerName>\<InstanceName> -i C:\Temp\ClearTables.sql 

This文章提供了一个相当不错的答案。

+0

如果客户端只安装了localDB,我将如何选择实例,并且它是项目中捆绑的本地数据文件? – intense

+0

首先,这听起来不像我的设计很好。但是,如果机器上有一台SQL服务器,那么你应该确保你的计算机名称正确(可能是一个IP地址)和实例。示例可以是:-S SQLCMD “(的LocalDB)\ \ MySharedInstance。” SQLCMD -S “\ MySharedInstance。” SQLCMD -S “(的LocalDB)\ MySharedInstance” SQLCMD -S “GREENHORNET \ MySharedInstance” SQLCMD -S“ \ LOCALDB#SH04FF8A“ sqlcmd -S”GREENHORNET \ LOCALDB#SH04FF8A“ – hbulens

+0

客户端没有实例设置,连接字符串如下所示: connectionString =”Data Source =(LocalDB)\ v11.0; AttachDbFilename = | DataDirectory | \ db.mdf; Integrated Security = True“ providerName =”System.Data.SqlClient“ 因此,由于它使用的是数据文件,我无法通过sqlcmd与共享实例连接。我怎样才能连接数据文件? – intense