以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何实现数据库表结构的同步  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148821)

--  作者:智友软件工作室
--  发布时间:2020/4/16 1:45:00
--  [求助]如何实现数据库表结构的同步
比如有数据库1-100个,一共100个数据库
所有的数据库中表数量、表名称、表字段都完全一样

如果我操作1数据库,更改1数据库中A表的字段名称、增加字段、删除字段之后   第2-100个库同时自动也做A表的操作

这样能够实现吗

--  作者:有点蓝
--  发布时间:2020/4/16 9:27:00
--  
增删改数据的时候调用sql更新其它数据库:http://www.foxtable.com/webhelp/topics/3266.htm
--  作者:智友软件工作室
--  发布时间:2020/4/16 12:05:00
--  
你好,这个方法是同步数据,我想实现同步表以及表结构的(增加表、删除表、新建表字段、删除表字段、修改表字段)
[此贴子已经被作者于2020/4/16 12:05:47编辑过]

--  作者:有点蓝
--  发布时间:2020/4/16 12:09:00
--  
无法同步
--  作者:有点蓝
--  发布时间:2020/4/16 12:10:00
--  
考虑全部使用sql来改表结构,不要使用foxtable内置的用法改表结构
--  作者:智友软件工作室
--  发布时间:2020/4/16 15:15:00
--  
如果做一个插件,使用狐表动态改变表结构,循环操作100个库,不知是否可行,性能和稳定性如何控制??

使用外部数据源

前面的代码都是针对内部数据源的,如果要为外部数据源动态创建表和列,只需在定义ADOXBuilder的时候,指定数据源名称即可:

Dim Builder As New ADOXBuilder("数据源名称")

例如在名为nwnd的外部数据源中创建一个订单表:

Dim Builder As New ADOXBuilder("nwnd") \'要指定数据源名称
Dim
tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(
"订单") \'创建表
With
tbl
    .AddColumn(
"日期" ,ADOXType.DateTime)
    .AddColumn(
"产品" ,ADOXType.String, 12)
    .AddColumn(
"客户" ,ADOXType.String, 20)
    .AddColumn(
"数量" ,ADOXType.Integer)
    .AddColumn(
"备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl)
\'增加表
Builder.Close()


--  作者:有点蓝
--  发布时间:2020/4/16 15:59:00
--  
这个要自己测试过才知道了。建议还是使用sql处理。