使用vb.net恢复sql localdb

时间:2014-06-29 20:57:16

标签: vb.net restore localdb

我正在尝试通过.net环境检索sql localdb的备份副本,但是我收到了错误。

错误:RESTORE无法处理数据库'C:\ Users \ Emad-VB \ Desktop \ KizeN \ KizeN \ bin \ Debug \ Data \ Data \ DataStore.mdf',因为此会话正在使用它。建议在执行此操作时使用master数据库。 RESTORE DATABASE异常终止。

sql Query:

RESTORE DATABASE [C:\ Users \ Emad-VB \ Desktop \ KizeN \ KizeN \ bin \ Debug \ Data \ Data \ DataStore.mdf] FROM disk ='C:\ Users \ Emad-VB \ Desktop \ bac \ test.bac'

我再次尝试使用数据库主机进行恢复,但是我收到了这个错误。

错误: “Go”附近的语法不正确。

sql Query:

使用主

开始

RESTORE DATABASE [C:\ Users \ Emad-VB \ Desktop \ KizeN \ KizeN \ bin \ Debug \ Data \ Data \ DataStore.mdf] FROM disk ='C:\ Users \ Emad-VB \ Desktop \ bac \ test.bac'

这是执行sql查询的代码....

Sub query(ByVal que As String)
    'On Error Resume Next
    Try
        con = New SqlConnection(My.Settings.KConS)
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        cmd = New SqlCommand
        cmd.Connection = con
        cmd.CommandType = CommandType.Text
        Dim mm As String = " que"
        cmd.CommandText = mm
        cmd.ExecuteNonQuery()
        If con.State = ConnectionState.Open Then
            con.Close()
        End If
    Catch ex As Exception
    End Try
End Sub

能够检索本地数据库的解决方案是什么?谢谢

1 个答案:

答案 0 :(得分:1)

我看到两个问题:

  1. " GO"不是t-sql命令。它只对SQL实用程序有意义,     例如SQL Server Management Studio,因此您不应该使用它     直接发送到服务器的代码。

  2. 我不确定您是否可以使用" USE更改连接中的数据库     MASTER&#34 ;.相反,你应该创建另一个连接字符串     "主"并在启动将执行恢复的连接时使用它。