Foxtable(狐表)用户栏目专家坐堂 → sql server数据源(阿里云),有两个数据库,且都连接成功,foxtable怎么实现从一个数据库转换到另一个数据库啊?


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

主题:sql server数据源(阿里云),有两个数据库,且都连接成功,foxtable怎么实现从一个数据库转换到另一个数据库啊?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 13:59:00 [显示全部帖子]

以下是引用有点甜在2018/3/20 15:53:00的发言:

 

如果你foxtable里面添加了两个数据源,要得到某表属于哪个数据源可以写代码

 

DataTables("表A").ConnectionName

 

如果你foxtable里面添加一个数据源,需要从a切换到b,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101689&skin=0

 

从a切换到b,好麻烦,能否在设置外部数据源那个窗口界面加多个选择数据源功能

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 14:44:00 [显示全部帖子]

谢谢楼上,不过看不懂,我只是想用数据源a切换到数据源b,用数据源b作为测试,就算乱弄也不影响数据库a的数据。本来以为很简单,没想到这么复杂。

Dim str As String = e.Form.controls("combobox1").text
If str = Nothing Then
    msgbox("请选择数据源")
Else
    Syscmd.Project.Open(ProjectFile, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ProjectPath & str & ".mdb;Persist Security Info=False")
End If

这段代码 如果是sql数据库怎么写


Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=test;Initial Catalog=test;Data Source=192.168.1.1

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 14:55:00 [显示全部帖子]

    是不是这样 Syscmd.Project.Open(ProjectFile, "Provider=SQLOLEDB.1;Data Source=192.168.1.1" & ProjectPath & str & ";Persist Security Info=True;User ID=test;Initial Catalog=test")

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 15:34:00 [显示全部帖子]

以下是引用有点蓝在2018/4/14 15:17:00的发言:
Syscmd.Project.Open(ProjectFile, "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=test;Initial Catalog=test;Data Source=192.168.1.1")

试过了,没有效果,用的还是原来的数据库

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 16:00:00 [显示全部帖子]

我是做了个按钮,加入以上代码Syscmd.Project.Open(ProjectFile, "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=test;Initial Catalog=test;Data Source=192.168.1.1")

然后点击之后重新打开系统,连接的还是原来的数据库,不知道是不是这样弄?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 16:04:00 [显示全部帖子]

我今天什么事情都没干,就研究这个切换数据源就弄了一天,现在还没有头绪

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 16:35:00 [显示全部帖子]

If OpenFileArgs.Count = 0 Then
    '第一次连接的时候,需要将数据源连接到你项目的Access数据库,可以是一个空的数据库
    e.C & ProjectPath & "test.mdb;Persist Security Info=False"
Else
msgbox(OpenFileArgs(0))
    '然后设置成新的数据库.
    e.ConnectionString = OpenFileArgs(0)
End If

这个sql怎么写

另外,两个数据库是同样的内容,就是新建一个数据库b,然后把数据库a的mdf附加到数据库b,结构和数据都是一模一样,但是切换之后用户名不一样应该没什么影响吧?我试了一下,在数据库b增加了一个表test,重新打开可以看到test表。没有增加数据库b的系统打开就看不到test表? 是不是证明切换成功了?但是问题是,在数据b写入每个数据,数据库a都能同时写入同样的数据。然后我切换到第三个数据库c, 和a,b数据库不是一样的,但是系统依然可以打开数据库a的数据,如果是这样,我猜测是系统同时用三个数据库?怎么把数据库a和c屏蔽掉,只能写入到数据库b里面?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 16:45:00 [显示全部帖子]

刚才又测试了一下,打开数据库b 代码,Syscmd.Project.Open(ProjectFile, "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=test;Initial Catalog=test;Data Source=192.168.1.1"),

在系统上随便一个表增加一行数据,在sql server查看数据在数据库a里面能看到,在数据库b看不到新增数据

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 17:11:00 [显示全部帖子]

我先看看,暂时只能想到用最笨的办法就是把表全部删除,然后重新选择数据源表,不过要把关联一个一个删除然后重新建立,实在浪费时间

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/4/14 17:28:00 [显示全部帖子]

我现在暂时用redirect 解决了,自己用的话就没问题。只是如果让用户选择数据库就不行了,将就先用着

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