![](/img/trans.png)
[英]Restore more than two files .bak using 1 script or query in SQL Server 2012
[英]Restore a SQL .bak file using a VB script?
我正在探索使用戶能夠從項目中恢復數據庫的方法。
我有一個項目,我想和數據庫一起發布,以便沒有經驗的用戶可以使用我開發的程序。
代碼是用 VB 腳本編寫的,我可以發布 VB 代碼,但我發現很難將數據庫包含在 ClickOnce 方法中。
我一直在想,我可以將 .bak 文件復制到客戶端的 PC,然后運行 VB 腳本,將數據庫恢復到安裝在 ClickOnce 安裝中的 SQLserver。
有沒有人做過這個?
我確實在網上找到了一些看起來很有希望的東西,但它是為 .NET 框架 2.0 或 3.0 編寫的,我發現當我添加System.Data.SqlClient 4.8.0
,出現以下錯誤:
嚴重性代碼描述項目文件行抑制狀態錯誤無法安裝包“System.Data.SqlClient 4.8.0”。 您正在嘗試將此包安裝到以“.NETFramework,Version=v2.0”為目標的項目中,但該包不包含任何與該框架兼容的程序集引用或內容文件。 有關更多信息,請聯系軟件包作者。
我得到代碼的網站: http : //www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1433&lngWId=10
請問有人可以幫忙嗎?
通過 wscript.exe 運行的 VBScript 是幾十年前的技術
VB.NET 會被編譯成自定義 .exe 或 .dll,是 2005+(不包括在過去幾年中的 .net 核心,但我沒有接觸過它)
dim connectionString as string = "Provider=MSOLEDBSQL;Server=localhost;Database=myDataBase;Trusted_Connection=yes;"
dim connection as New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand
Dim query As String = "RESTORE DATABASE AdventureWorks2012 FROM AdventureWorksBackups;"
Try
cmd.CommandText = query
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox("something bad happened")
End Try
參考位
ExecuteNonQuery https://docs.microsoft.com/en-us/dotnet/api/system.data.oledb.oledbcommand.executenonquery?view=netframework-4.8
如果您不使用 OLEDB,或者需要不同的提供程序,則根據需要使用連接字符串進行 futz,但這是一般方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.