# # 名前 # Execute-Query # 概要 # 指定されたQueryを実行し、テキストファイルに出力します。 # # -Query SQL文 # -Fields 出力するColumn名 # -File 出力するテキストファイル function Execute-Query([string]$query, $fields, $file){ [Data.SqlClient.SqlConnection]$conn = $null [Data.SqlClient.SqlCommand]$cmd = $null [Data.SqlClient.SqlDataReader]$reader = $null $funcName = "Execute-Query" # 改行をスペースに置換 $tmp = $query -replace "`r`n", " " Write-Debug "QUERY=[$tmp]`t$funcName" try{ $conn = New-Object Data.SqlClient.SqlConnection($DB_CON_STR) $conn.Open() Write-Debug "Connection Open.`t$funcName" $cmd = New-Object Data.SqlClient.SqlCommand $cmd.CommandText = $query $cmd.Connection = $conn #ExecuteReader $reader = $cmd.ExecuteReader() $count = 0 #出力バッファ [Text.StringBuilder]$sb = New-Object Text.StringBuilder while( $reader.Read() ){ foreach( $column in $fields ){ $sb.Append($reader[$column].ToString()) } $sb.AppendLine() $count++ } $reader.Close() Write-Debug "出力行数= $count`t$funcName" #ファイルに出力 Add-Content $file ($sb.ToString()) }catch [Exception]{ throw $Error[0] }finally{ if(!([String]::IsNullOrEmpty($conn))){ $conn.Close() Write-Debug "Connection Close.`t$funcName" } } }
2012/05/07
PowerShellでSqlDataReaderを使用するサンプル
PowerShellでSqlDataReaderクラスを使用して
データベースから値を取得するサンプル。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿