我用SQL语句查询出一些记录,这些记录要输出到一个MDB文件中。我的数据库是放在一个服务器上的ORACLE,我要再客户机上查询这些记录写入一个MDB。请高手指点指点,如果能解答这个问题请写的详细点,我理解力差,谢谢大家:)!!!1

解决方案 »

  1.   

    你觉得这样如何:首先,你创建一个access数据库,然后在里面通过ODBC倒入你要操作的oracle表链接。
    接下来从这个表里面取出记录集,再写到mdb数据库里。也就是说:
    1。用mdb通过odbc链接一个oracle表
    2。建立一个字段和oracle表相同的本地mdb数据表
    3。用insert into 本地表 select * from 链接表 where 条件完成另外,ACCESS的数据库好像是有条数限制的,或者说当access数据库大到一定程度,比如100MB,操作起来会很慢的。
      

  2.   

    按你的要求,用程序做,只有一条一条写MDB。
      

  3.   

    我认为应该使用DAO连接Access数据库(jet方式,假如是本地的),
    假如SQL查询结果为rsSQL;dim db as Database
    dim rs as recordsetset db=opendatabase(......)
    set rs=db.openrecordset(“表名”,dbopendynaset)while not rsSQL.eof
       rs.Addnew
       '为各字段赋值
       rs.Update   rsSQL.movenext
    wendrs.Close
    db.close应该说操作Access数据库的最佳方式还是DAO.
      

  4.   

    如果还是太慢,可以考虑去掉Access表的索引,添加完后重建。
      

  5.   

    如果字段一样,顺序一样,为字段的赋值可以采用如下方式:
    dim nFileldsCount as integer
    dim i as integernFileldsCount = rs.fields.countwith rs
      for i=  0 to nFileldsCount -1
        .fields(i)=rsSQL.fields(i)
      next
    end with
      

  6.   

    请教rappercn(rapper) 如何用用代码给MDB建立一个ORACLE的连接表??谢谢指教:)请教 lazycat818(lazycat818) 用DAO连MDB读写是否比比用ADO连接用SQL一条条插入数据效率高呢?
      

  7.   

    原理:
        先在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
    至此完成
      

  8.   

    用insert into b from(select * from a )