以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- sql数据库备份提示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159070) |
-- 作者:禾成 -- 发布时间:2020/12/12 16:15:00 -- sql数据库备份提示 按钮代码如下:红色这段不是很理解 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\'。
|
-- 作者:有点蓝 -- 发布时间:2020/12/12 16:22:00 -- 红色这段是为了从数据源的连接字符串里拆出数据库名称。 这种用法仅支持SqlServer,并且登录用户有足够的权限,比如使用sa登录
|
-- 作者:禾成 -- 发布时间:2020/12/12 16:39:00 -- 我的数据库就是SqlServer 请老师帮我改一下代码
|
-- 作者:有点蓝 -- 发布时间:2020/12/12 16:44:00 -- 指定数据源名称http://www.foxtable.com/webhelp/topics/2344.htm |
-- 作者:禾成 -- 发布时间:2020/12/12 16:52:00 -- 谢谢老师,已搞定,原来如此 如果SQLCommand操作的是外部数据源,那么一定要设置其ConnectionName属性,指定外部数据源名称: 很多用户,包括我自己,都会犯这个错误,明明代码正确,却没有结果,折腾半天,只是因为没有设置数据源名称而已。 |