2015-04-30 182 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