PowerShellから
・SQL ServerへSELECT文を実行
できます!
この記事では
・「.NET」を使用した方法
を紹介します!
※「invoke-sqlCmd」コマンドレットを使用した方法は割愛します。
コード
ここでは例として、
・テーブル「employee」へSELECT文を実行して
・取得したデータをシートへ張り付け
します。
※エラー処理もします。
# 接続情報の設定
$conStr = New-Object -TypeName System.Data.SqlClient.SqlConnectionStringBuilder
$conStr['Data Source'] = "localhost\SQLEXPRESS" # サーバー名
$conStr['Initial Catalog'] = "sampleDB" # DB名
$conStr['user id'] = "XXXXX" # ユーザー名
$conStr['password'] = "XXXXX" # パスワード
# SELECT文
$sql = "SELECT * FROM employee"
try{
# 接続
$con = New-Object System.Data.SQLClient.SQLConnection($conStr)
$con.Open()
# SELECT文を実行し結果を取得
$cmd = New-Object System.Data.SQLClient.SQLCommand($sql, $con)
$rs = $cmd.ExecuteReader()
# カラム名を指定して結果をコンソールへ表示
While ($rs.Read()) {
Write-Host "id :" $rs["id"]
Write-Host "名前 :" $rs["name"]
Write-Host "性別 :" $rs["sex"]
Write-Host ""
}
}catch [Exception]{
Write-Host "エラーが発生しました。"
Write-Host $_.Exception.Message
}finally{
# 切断
$con.Close()
}
実行結果
SQL ServerへSELECT文を実行できました。
参考①
PowerShellから
・SQL ServerへINSERT文を実行
することもできます!
詳細は以下の記事をご確認ください。
参考②
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「SQLConnection」クラスの「Open」メソッド
●「SQLCommand」クラスの「ExecuteReader」メソッド
●「SqlDataReader」クラスの「Read」メソッド