Foxtable(狐表)用户栏目专家坐堂 → [求助]附加数据库


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

主题:[求助]附加数据库

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]附加数据库  发帖心情 Post By:2015/11/27 10:12:00 [只看该作者]

红袍老师,
   附加数据库还是不行,麻烦您再给看下。

使用外部数据源access 然后希望加载进来SQL2005数据源

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试附加.rar



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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/27 10:26:00 [只看该作者]

1. 首先设置一个外部数据源指向SQL2005任意一个数据库

 

2. 附加

Dim cmd1 As New SQLCommand
cmd1.C
cmd1.CommandText = "use master;EXEC sp_attach_db @dbname ='测试',@filename1 ='"& ProjectPath & "ADMIN\测试.mdf',@filename2 = '" & ProjectPath & "ADMIN\测试_log.ldf'"
cmd1.ExecuteNonQuery()

 

3.卸载

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "use master;EXEC sp_detach_db '测试','true'"
cmd.ExecuteNonQuery()

[此贴子已经被作者于2015/11/27 10:25:59编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/27 10:53:00 [只看该作者]

先要添加sql数据源啊

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试附加.zip


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/27 11:33:00 [只看该作者]

o  多谢 让二位费心了 

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/27 11:47:00 [只看该作者]

在问

如数据库已经存在,能否先提示下,停止加载呢,防止出现错误提示;


不会是使用
 Try
   代码一
Catch ex As Exception
   代码二
End Try

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/27 12:00:00 [只看该作者]

Try
    If Connections.Contains("test") Then Connections.Delete("test")
    Dim cmd1 As New SQLCommand
    Connections.Add("test", "Provider=SQLOLEDB.1;Password=hailun.;Persist Security Info=True;User ID=sa;Initial Catalog=master;Data Source=voyo")
    cmd1.ConnectionName = "test"
    Connections("test").BeginTransaction() '开始事务
    cmd1.CommandText = "use master;EXEC sp_attach_db @dbname ='测试',@filename1 ='"& ProjectPath & "ADMIN\测试.mdf',@filename2 ='"& ProjectPath & "ADMIN\测试_log.ldf'"
    cmd1.ExecuteNonQuery()
    Connections("test").Commit '提交事务,所有操作生效
    If Connections.Contains("test") Then Connections.Delete("test")
Catch ex As Exception '如果出错
    msgbox(ex.message)
End Try

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/27 12:04:00 [只看该作者]

Dim cmd1 As New SQLCommand
cmd1.ConnectionNa me = "测试"
cmd1.CommandText = "sel ect count(*) from sys.databases where name = '测试'"
Dim val  = cmd1.ExecuteScalar()
If val = 1 Then

msgbox("'测试'数据库存在")

else

'附加数据库

end if


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/27 12:17:00 [只看该作者]

学海无涯 多谢二位了

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/27 13:19:00 [只看该作者]


红袍老师,
卸载的代码这样写,出现弹窗11111 数据库没有删除,代码哪里不对,请老师在给看看?
Dim cmd1 As New SQLCommand
If Connections.Contains("test") Then Connections.Delete("test")
Connections.Add("test", "Provider=.....")
cmd1.C
Try
    Connections("test").BeginTransaction() '开始事务
    cmd1.CommandText = "use master;EXEC sp_detach_db '测试'"
    cmd1.ExecuteNonQuery()
    Connections("test").Commit '提交事务,所有操作生效
Catch ex As Exception '如果出错
    msgbox("11111")
End Try
If Connections.Contains("test") Then
    Connections.Delete("test")
End If

[此贴子已经被作者于2015/11/27 13:20:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/27 14:36:00 [只看该作者]

看弹出什么错误

 

msgbox(ex.Message)


 回到顶部
总数 12 1 2 下一页