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


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

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

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
sql server数据源(阿里云),有两个数据库,且都连接成功,foxtable怎么实现从一个数据库转换到另一个数据库啊?  发帖心情 Post By:2018/3/20 13:14:00 [只看该作者]

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/20 14:52:00 [只看该作者]

如果是数据库转移

 

方法一:备份sqlserver数据库,得到.bak文件,在另一个sqlserver还原数据库

 

方法二:参考 http://www.foxtable.com/webhelp/scr/2297.htm

 

 

[此贴子已经被作者于2018/3/20 15:46:44编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/3/20 15:40:00 [只看该作者]

方法二的链接打不开。 问题追述, 狐表链接上两个sql的数据库(其中一个数据库是由另外一个数据恢复得到的,所有两个数据库的表结构和名字相同),但是我在狐表中录入表中的数据时,如何知道目前的表是在哪个数据库中呢?  或者,我想在狐表中将数据库由a换成b!
[此贴子已经被作者于2018/3/20 15:42:08编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/20 15:53:00 [只看该作者]

以下是引用guosheng在2018/3/20 15:40:00的发言:
问题追述, 狐表链接上两个sql的数据库(其中一个数据库是由另外一个数据恢复得到的,所有两个数据库的表结构和名字相同),但是我在狐表中录入表中的数据时,如何知道目前的表是在哪个数据库中呢?  或者,我想在狐表中将数据库由a换成b!
[此贴子已经被作者于2018/3/20 15:42:08编辑过]

 

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

 

DataTables("表A").ConnectionName

 

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

 

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

 


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


加好友 发短信
等级:四尾狐 帖子:998 积分:10453 威望:0 精华:0 注册:2012/12/11 14:25:00
  发帖心情 Post By:2018/3/20 21:13:00 [只看该作者]

mark

 回到顶部
帅哥哟,离线,有人找我吗?
swagger
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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,好麻烦,能否在设置外部数据源那个窗口界面加多个选择数据源功能

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


加好友 发短信
等级:幼狐 帖子:74 积分:682 威望:0 精华:0 注册:2018/3/5 14:34:00
  发帖心情 Post By:2018/4/14 14:32:00 [只看该作者]

我有个办法,就是用代码写出到文本文件中,再读文本文件写入到数据库。
贴份代码给你,根据需要修改后,复制在命令窗口执行就行了

注意:执行这代码需要时间,不要重复点执行按钮,只要点一次就好,然后想看进度,看数据库数据就好了

把数据库导入到文本
Dim cmd As New SQLCommand
cmd.ConnectionName="要移动数据源"
cmd.CommandText = "SELECT * Fro m 需要移动的表名"
For Each dr As DataRow In cmd.ExecuteReader().DataRows
FileSys.WriteAllText(ProjectPath & "Attachments/temp.txt",dr("字段名1") & "," & dr("字段名2") & "," &  dr("字段名3")  & ";" ,True, Encoding.Default)
Next
在另一个数据源建表
Dim cmd As New SQLCommand
cmd.ConnectionName="要写入的数据源"
cmd.CommandText = "CREATE TAB LE 表名(字段名1 VARCHAR(255),字段名2 VARCHAR(255),字段名2 VARCHAR(255))"
cmd.ExecuteNonQuery()
文本批量写入到新数据源
Dim contents As String =FileSys.ReadAllText(ProjectPath & "Attachments/temp.txt",Encoding.Default)
Dim cmd As New SQLCommand
cmd.ConnectionName="要写入的数据源"
For Each item As String In contents.split(";") '分割后循环
Dim child() = item.Split(",")  '再次分割
cmd.CommandText = "Insert In to 表名(字段名1,字段名2,字段名3) Values('" & child(0) & "','" & child(1) & "','" & child(2) & "')"     
cmd.ExecuteNonQuery()
Next


[此贴子已经被作者于2018/4/14 14:41:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
swagger
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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")

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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")

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