以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sql server数据源(阿里云),有两个数据库,且都连接成功,foxtable怎么实现从一个数据库转换到另一个数据库啊?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116135)

--  作者:guosheng
--  发布时间:2018/3/20 13:14:00
--  sql server数据源(阿里云),有两个数据库,且都连接成功,foxtable怎么实现从一个数据库转换到另一个数据库啊?
sql server数据源(阿里云),有两个数据库,且都连接成功,foxtable怎么实现相关的操作从一个数据库转换到另一个数据库啊?
--  作者:有点甜
--  发布时间:2018/3/20 14:52:00
--  

如果是数据库转移

 

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

 

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

 

 

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

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

--  作者:有点甜
--  发布时间: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
--  发布时间:2018/3/20 21:13:00
--  
mark
--  作者:swagger
--  发布时间: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,好麻烦,能否在设置外部数据源那个窗口界面加多个选择数据源功能
--  作者:夜散点炽
--  发布时间: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
--  发布时间: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
--  发布时间: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")
--  作者:有点蓝
--  发布时间: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")