Windows Scripting Hostsでコーディングする前に、データソース(ODBC)でデータベースへのアクセス環境を作成しておく。サンプルは、ファイルDSNを使用したもの。
'==============================================================================
'
' データベースアクセスサンプル
' 検索結果をカンマ区切りで表示する.
'
'==============================================================================
On Error Resume Next
'-------------------------------------------------
'
' 変数宣言
'
'-------------------------------------------------
Dim objADO, objRS
Dim i
Dim strSQL
Dim strBuffer
'-------------------------------------------------
' データベースの接続設定・接続
'-------------------------------------------------
Set objADO = CreateObject("ADODB.Connection")
'タイムアウトの設定を変更しておく
objADO.CommandTimeout=0
objADO.Open("FILEDSN=ファイルDSNの場所")
objADO.Errors.Clear
'-------------------------------------------------
' データを検索
'-------------------------------------------------
strSQL = "SQL文(接続データベースの書式で記述する)"
'レコードを読み終わるまでループする
Set objRS = objADO.Execute(strSQL)
objRS.MoveFirst
If objRS.EOF And objRS.BOF Then
Else
Do While Not objRS.EOF
For i = 0 To objRS.Fields.Count - 1
If i = 0 Then
If Len(Trim(objRS.Fields(i))) > 0 Then
strBuffer = """" & Trim(Replace(Replace(objRS.Fields(i), vbCR,""), vbLF, "")) & """"
Else
strBuffer = """" & Trim(objRS.Fields(i)) & """"
End If
Else
If Len(Trim(objRS.Fields(i))) > 0 Then
strBuffer = strBuffer & vbTab & _
"""" & Trim(Replace(Replace(objRS.Fields(i), vbCR, ""), vbLF, "")) & """"
Else
strBuffer = strBuffer & vbTab & """" & Trim(objRS.Fields(i)) & """"
End If
End If
Next
WSCript.Echo strBuffer
objRS.MoveNext
Loop
End If
'-------------------------------------------------
' DML(Data Manipulation Language)
'-------------------------------------------------
strSQL = "SQLのDML文"
If strSQL <> "" Then
objADO.Errors.Clear
objADO.BeginTrans
objADO.Execute strSQL
If Err.Number = 0 Then
objADO.CommitTrans
Else
objADO.RollbackTrans
WScript.Echo "処理中にエラーが発生しました。ロールバックします。[" & Err.Number & ":" & Err.Description
End If
End IF
objADO.Close
Set objADO = Nothing