Microsoft.Jet.OLEDB.4.0の利用 要は Microsoft 中心に考えると、たいていの DB に動的に接続して、テーブルを参照できるという事です。( ODBC ドライバ依存 ) Oracle は、常に、スキーマで修飾が必要ですが、他の DB ならテーブル名のみで参照できると思います。 結合もできるところが凄いというか、Microsoft 中心というか結構使い道が広い方法です。 ADOX は、他にも機能もありますが、ADO でたいてい事足りるので、MDB を作成したい場合にのみ利用します。 ADO は、MDB も Excel も 製品をインストールしていなくても DB として使うのならば何も問題無くアクセス可能です。つまり、Access や Excel をインストールしていなくても、ADO 経由でデータを見る事ができます
Set Cn = CreateObject( "ADODB.Connection" ) Set Fso = Wscript.CreateObject( "Scripting.FileSystemObject" ) ' ************************************** ' 実行中ディレクトリの取得 ' ************************************** strPath = Wscript.ScriptFullName Set objFile = Fso.GetFile( strPath ) strCur = Fso.GetParentFolderName( objFile ) on error resume next Fso.DeleteFile(strCur&"\DUMMY.mdb") on error goto 0 Set ac = CreateObject("ADOX.Catalog") ' ************************************** ' 接続用 MDB 作成 ' ************************************** on error resume next ac.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source="&strCur&"\DUMMY.mdb"&";" if Err.Number <> 0 then Wscript.echo Err.Description Wscript.quit end if on error goto 0 ' ************************************** ' 作成したMDB の開放 ' ************************************** on error resume next Set ac = Nothing on error goto 0 ' ************************************** ' 接続文字列( ADOX と同じ ) ' ************************************** ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strCur&"\DUMMY.mdb" & ";" ' ************************************** ' 接続 ' ************************************** on error resume next Cn.Open ConnectionString if Err.Number <> 0 then WScript.Echo Err.Description Wscript.Quit end if on error goto 0 ' ************************************** ' エクスポート用 SQL / {SQL Server} は ' {SQL Native Client}に変更可 ' ************************************** Query = _ "select * " & _ " into [Excel 8.0;DATABASE="&strCur&"\商品マスタ.xls"&"].[商品マスタ] " & _ " from [ODBC;Driver={SQL Server};" & _ "SERVER=.\SQLEXPRESS;Database=lightbox;UID=sa;PWD=password].[商品マスタ]" ' ************************************** ' 実行 ' ************************************** Cn.Execute Query ' ************************************** ' MDB 開放 ' ************************************** Cn.Close Set Cn = Nothing ' ************************************** ' 接続用 MDB 削除 ' ************************************** on error resume next Fso.DeleteFile(strCur&"\DUMMY.mdb") on error goto 0 Wscript.echo "処理が終了しました "
|
【SQLExpressの最新記事】
- 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 が異常終了しました
- SQLServer のドキュメント
- VBS : SQLExpress(SQLServer) テーブルの正しい CREATE 文を取得する
- PHP : SQLExpress(SQLserver) : COM による接続処理
- PHP : PDO : SQLExpress(SQLServer)の読み込みと同時更新
- ODBC 用 JDBC : 動的接続 / SQLExpress(SQLServer) / 読み込みながらの行更新
- VBScript : ADO : 純正接続 : SQLExpress(SQLServer) 接続と通常処理
- SQLServer : sa が有効かどうかを確認する SQL