Foxtable(狐表)用户栏目专家坐堂 → sql数据库备份提示


  共有2913人关注过本帖树形打印复制链接

主题:sql数据库备份提示

帅哥哟,离线,有人找我吗?
禾成
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1295 威望:0 精华:0 注册:2018/12/12 23:23:00
sql数据库备份提示  发帖心情 Post By:2020/12/12 16:15:00 [只看该作者]

按钮代码如下:红色这段不是很理解
Dim cn As Connection = Connections("数据库名")
Dim lx As Integer = cn.SourceType
If lx = 2 Then
    Dim str As String = cn.ConnectionString
    Dim mc As String
    For Each s As String In str.split(";")
        If s.StartsWith("Initial Catalog") Then
            mc = s.split("=")(1)
        End If
    Next
    Dim bf As String = "C:\FTP\"& format(Date.now,"yyyyMMddHHmmss") & ".bak"
    Dim Result As DialogResult
    Result = MessageBox.Show("是否现在【备份】数据库至服务器端【C:\FTP】目录下 ?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Dim cmd As New SQLCommand
        cmd.CommandText = "use master;BACKUP DATABASE " & mc & "  TO DISK = '" & bf & "'  With FORMAT,CHECKSUM;"
        cmd.ExecuteNonQuery()
    End If
End If

点击备份按钮报下面的错误
无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/12 16:22:00 [只看该作者]

红色这段是为了从数据源的连接字符串里拆出数据库名称。

这种用法仅支持SqlServer,并且登录用户有足够的权限,比如使用sa登录

 回到顶部
帅哥哟,离线,有人找我吗?
禾成
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1295 威望:0 精华:0 注册:2018/12/12 23:23:00
  发帖心情 Post By:2020/12/12 16:39:00 [只看该作者]

我的数据库就是SqlServer
请老师帮我改一下代码

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/12 16:44:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
禾成
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1295 威望:0 精华:0 注册:2018/12/12 23:23:00
  发帖心情 Post By:2020/12/12 16:52:00 [只看该作者]

谢谢老师,已搞定,原来如此


如果SQLCommand操作的是外部数据源,那么一定要设置其ConnectionName属性,指定外部数据源名称:


很多用户,包括我自己,都会犯这个错误,明明代码正确,却没有结果,折腾半天,只是因为没有设置数据源名称而已。


 回到顶部