原理:
先在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