SQLServer と Access との 連携

SQLServer上のテーブルをMDBにリンク/インポートする (テーブル指定)

接続文字列

lesson001.con


ODBC;DRIVER={SQL Server};SERVER=xxxxxx;DataBase=adventureworksdw;UID=yyyyyy;PWD=zzzzzz;

リンク/インポート用スクリプト

lesson001.vbs

'SQLServer 接続文字列 読み込み
Private fs
Set fs = CreateObject("Scripting.FileSystemObject")

Private tsCon
Set tsCon = fs.OpenTextFile(WScript.Arguments(0))

Private sCon: sCon = ""
If Not tsCon.AtEndOfStream Then
    sCon = tsCon.ReadLine
End If
tsCon.Close
Set tsCon = Nothing
Set fs    = Nothing

'MDB ファイルを 作成
Dim de
Set de = CreateObject("DAO.DBEngine.36")
'Access95   DAO.DBEngine
'Access97   DAO.DBEngine.35
'Access2000 DAO.DBEngine.36

Dim dbLangJapanese: dbLangJapanese = ";LANGID=0x0411;CP=932;COUNTRY=0"

Dim db
Set db = de.CreateDatabase(WScript.Arguments(1), dbLangJapanese, 64)
'Access 2.0  16
'Access 95   32
'Access 2000 64
db.Close

'Access を 起動
Dim accessApp
Set accessApp = CreateObject("Access.Application")
accessApp.Visible = True

'作成した MDB ファイルを 開く
accessApp.OpenCurrentDataBase WScript.Arguments(1)

Dim acTable:  acTable  = 0
Dim acImport: acImport = 0
Dim acLink:   acLink   = 2

'テーブル を インポート
accessApp.DoCmd.TransferDatabase acImport, "ODBC", sCon, acTable, WScript.Arguments(2), "IMPORT_" & WScript.Arguments(2)

'テーブル を リンク
accessApp.DoCmd.TransferDatabase acLink,   "ODBC", sCon, acTable, WScript.Arguments(2), "LINK_"   & WScript.Arguments(2)

accessApp.Quit 
Set accessApp = Nothing
実行形式


C:\>cscript c:\study\vbscript\chapter007\lesson001.vbs c:\study\vbscript\chapter
007\lesson001.con c:\study\vbscript\chapter007\lesson001.mdb DimAccount //nologo