原理:
先在mdb文件中建立目标表的link表,然后用本地操作mdb数据库的方式复制一个表的全部或者部分,删除link表。
至此,已经完成数据库的备份,此方法不通过循环,速度还算理想。
实现:
首先假设odbc中设置了一个oracle的数据源,其数据库服务名为linkdatabase,dsn为oraodbc,用户名是administrator,密码password,把表oracle_table导入到c:\temp.mdb的mdb_database,中间步骤链接表的名称为templink
dim db as dao.database '数据库对象,dao3.6
dim tblink as dao.tabledef '表对象
' 打开备份目标mdb
set db = opendatabase("c:\temp.mdb")
' 以下开始创建link表
set tblink = db.createtabledef("templink")
' 设置连结字符串
tblink.connect = "odbc;database=linkdatabase;uid=administrator;pwd=password;dsn=oraodbc"
tblink.sourcetablename = "linkdatabase.oracle_table"
db.tabledefs.append tblink
' 复制表(可加条件)
db.execute "select * into mdb_database from templink"
' 删除链接表
db.tabledefs.delete templink
至此完成