寫VB程式將Oracle資料匯到MDB

寫VB程式將Oracle資料匯到MDB

如何用VB寫程式將Oracle資料匯到MDB? 

方法: 
1. 用迴圈 , 但若寫不好 , 效能上會比較慢 
2.
透過 ODBC 來匯 , 匯大量資料時效能上快很多ㄛ
 
        2-1.
如果SQL語法有Join 2 Table以上 , 需先將篩選的資料CreateView
Table
        2-2.
DAO建立Database物件連
MDB
        2-3.
Database
物件.Execute "select * into [;database=路徑+目前MDB檔名.MDB].[目的資料表] " & _
                " from [ODBC;DRIVER={Oracle ODBC Driver};" & _
                "SERVER=DatabaseAlias;UID=UserID;PWD=Password;DBQ=DatabaseAlias;" & _
                "DBA=W;APA=T;FEN=T;FRC=10;FDL=10;LOB=T;RST=T;FRL=F;PFC=10;TLO=O;]" & _
                .[Owner.Oracle的
資料表或視觀表名稱]" 

        PS: Oracle ODBC Driver , 因版本不同而ODBC Driver 名稱也不同
                9i
以後版本 , Driver 名稱不同, 9i Oracle in OraHome9? , ? 0 , 1 , 2 ..
                10g
版本 Driver Oracle in OraDb10g_home1

                DatabaseAlias Oracle 服務名稱 ( Net Manager 中設定之名稱 )
                UserID
為資料庫使用者名稱
                Password
為資料庫密碼
                Owner
亦為 UserID

' DAO 物件 DataBase 類別建立方式:  

' 1. Early Binding
的方式 
        '
設定引用項目 
        ' Microsoft DAO 3.5 Object Library
Microsoft DAO 3.6 Object Library 
        Dim db As DAO.Database 
        Set db = DBEngine.Workspaces(0).OpenDatabase("MDB
路徑+檔案", False, False) 

' 2. Late Binding
的方式 , 透過 CreateObject (建構) 函數 將物件個體化 
        Dim dbe As Object , db As Object 
        
        '
建立 DAO 3.5 3.6 版本的 DBEngine 
        Set dbe = CreateObject("DAO.DBEngine.35") ' 建立 DAO3.5 DBengine 物件 
        '
Set dbe = CreateObject("DAO.DBEngine.36") 建立 DAO3.6 DBengine 物件
        Set db = dbe.Workspaces(0).OpenDatabase("MDB路徑+檔案", False, False)