ODBC では無く Microsoft OLE DB Provider for SQL Server を使用しています SQLExpress にインポートするデータ(MDB)
' *********************************************************** ' SQLExpress / OLE DB / 純正接続 ' ADO : 読み込みのみ ' FileSystemObject : CSV出力 ' *********************************************************** strTarget = "NIGHT_TCP" ' 別名 strDB = "lightbox" strUser = "sa" strPass = "passwordpassword" ' *********************************************************** ' ADO + FileSystemObject ' *********************************************************** Set Cn = CreateObject( "ADODB.Connection" ) Set Rs = CreateObject( "ADODB.Recordset" ) Set Fso = CreateObject( "Scripting.FileSystemObject" ) ' ********************************************************** ' 接続文字列 ' ********************************************************** ConnectionString = _ "Provider=SQLOLEDB;" & _ "Data Source=" & strTarget & ";" & _ "Initial Catalog=" & strDB & ";" & _ "User ID=" & strUser & ";" & _ "Password=" & strPass & ";" ' ********************************************************** ' 接続 ' クライアントカーソル(3)を使う事が推奨されます ' ********************************************************** Cn.CursorLocation = 3 on error resume next Cn.Open ConnectionString if Err.Number <> 0 then WScript.Echo Err.Description Wscript.Quit end if on error goto 0 Query = "select * from [社員マスタ]" ' ********************************************************** ' レコードセット ' オブジェクト更新時はレコード単位の共有的ロック(3)を ' 使用します( デフォルトでは更新できません ) ' ********************************************************** 'Rs.LockType = 3 on error resume next Rs.Open Query, Cn if Err.Number <> 0 then Cn.Close Wscript.Echo Err.Description Wscript.Quit end if on error goto 0 ' ********************************************************** ' 出力ファイルオープン ' ********************************************************** Set Csv = Fso.CreateTextFile( "社員マスタ.csv", True ) ' ********************************************************** ' タイトル出力 ' ********************************************************** Buffer = "" For i = 0 to Rs.Fields.Count - 1 if Buffer <> "" then Buffer = Buffer & "," end if Buffer = Buffer & Rs.Fields(i).Name Next Csv.WriteLine Buffer ' ********************************************************** ' データ出力 ' ********************************************************** Do While not Rs.EOF Buffer = "" For i = 0 to Rs.Fields.Count - 1 if Buffer <> "" then Buffer = Buffer & "," end if Buffer = Buffer & Rs.Fields(i).Value Next Csv.WriteLine Buffer Rs.MoveNext Loop ' ********************************************************** ' ファイルクローズ ' ********************************************************** Csv.Close ' ********************************************************** ' レコードセットクローズ ' ********************************************************** Rs.Close ' ********************************************************** ' 接続解除 ' ********************************************************** Cn.Close
関連する記事 ADO 関数 : 接続/読み込み/接続解除 SQLExpress 2005 の接続設定 VBScript : ADO : ODBC接続 : SQLExpress(SQLServer) 接続と通常処理( 更新は SQL で行う )