MDBへODBC接続テーブルのリンク作成

今回の仕事でローカルにあるMDBに別PCにあるOracleデータベースのテーブルにリンクを張り、
参照するという仕様があった。

ODBC接続でリンクを張ること自体は簡単だったものの、リンク処理時にパスワードを保存して
次回そのリンクテーブルを利用する場合にパスワード確認をされないようにする必要があった。

パスワードを保存する方法を模索して見つけたので参考になればと思い
サンプルコードを下記に掲載。
※実際に組み込んだのはこのままじゃないですが(^^;;

肝はこの一行でした ↓
tblDef.Attributes = dbAttachSavePWD

  1. '――――――――――――――――
  2. 'MDBへODBC接続テーブルのリンクを作成するサンプル
  3. '――――――――――――――――
  4. Dim daoWS as DAO.WorkSpace
  5. Dim daoDB as DAO.DataBase
  6. Dim tblDef as DAO.TableDef
  7.  
  8. Set daoWS = DBEngine.Workspaces(0)
  9. ‘リンクを作成するMDBを開く
  10. Set daoDB = daoWS.OpenDatabase("C:\DB\Hoge.mdb")
  11.  
  12. Set tblDef = daoDB.CreateTableDef("Sales") ‘リンク後のMDBでのテーブル名
  13. ‘リンクするデータベースへの接続設定
  14. tblDef.Connect = “ODBC;DSN=HogeDSN;UID=hoge;PWD=hoge;"
  15. tblDef.Attributes = dbAttachSavePWD ‘リンクパスワードを保存する
  16. tblDef.SourceTableName = “Sales" ‘リンク元のテーブル名
  17. daoDB.TableDefs.Append tblDef ‘リンクテーブルを追加
  18.  
  19. Set tblDef = Nothing
  20.  
  21. daoDB.Close
  22. daoWS.Close
  23.  
  24. Set daoDB = Nothing
  25. Set daoWS = Nothing
[`evernote` not found]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*