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 で行う )
|
【SQLExpressの最新記事】
- SQLServer の BCP で INT IDENTITY 列に csv からリストアする
- VBScript : ADO : ODBC接続 : SQLExpress(SQLServer) 接続と通常処理( 更新は SQL で行う )
- Microsoft SQLExpress : sa に空のパスワードを設定する方法
- SQLExpress バッチ DB バックアップ
- C# : VB.net : SQLExpress(SQLServer) : SQL-DMO と同等の SMO によるバックアップ
- 各RDBMS の正規表現の実装状況 : MySQL, SQLServer, PostgreSQL, Oracle
- SQLServer の OPENDATASOURCE 関数による Excel の参照( Microsoft.Jet.OLEDB.4.0 と Microsoft.ACE.OLEDB.12.0 )
- SQLServer(SQLExpress) : SQL学習用販売管理データとインポート用スクリプト
- SQLExpress 2005( および 2008 ) の接続設定
- SQLExpress 内に存在する表の CREATE 文を取得する
- ファイルから直接データベースを別のPCでリストアする / SQLExpress
- 目的のDBが使用している物理ファイルのパスの確認 / SQLExpress
- ピンポイントですが、SQLServer 2008 は SQLServer 7.0 のデータをロード出来ないのです
- SQLExpress2005 で副問い合わせを含む VIEW が異常終了しました
- VBS : SQLServerよりExcel へエクスポート(Excel製品は必要ありません)
- SQLServer のドキュメント
- VBS : SQLExpress(SQLServer) テーブルの正しい CREATE 文を取得する
- PHP : SQLExpress(SQLserver) : COM による接続処理
- PHP : PDO : SQLExpress(SQLServer)の読み込みと同時更新
- ODBC 用 JDBC : 動的接続 / SQLExpress(SQLServer) / 読み込みながらの行更新