SQLの窓

2009年10月27日


VBS : SQLServerよりExcel へエクスポート(Excel製品は必要ありません)

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の最新記事】
posted by lightbox at 2009-10-27 16:59 | SQLExpress | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり