【PowerShell】SELECT文を実行する【SQL Server】

PowerShellから
 ・SQL ServerへSELECT文を実行
できます!

この記事では
 ・「.NET」を使用した方法
を紹介します!
※「invoke-sqlCmd」コマンドレットを使用した方法は割愛します。

PR

コード

ここでは例として、
 ・テーブル「employee」へSELECT文を実行して
 ・取得したデータをシートへ張り付け
します。
※エラー処理もします。

テーブル「employee」のデータ
テーブル「employee」のデータ
# 接続情報の設定
$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()
}

以下を設定します(3~6行目)。
※必要に応じて修正してください。

・サーバー名
・DB名
・ユーザー名
・パスワード
※上記では「ユーザー名」と「パスワード」は仮で「XXXXX」としています。適切な値を設定してください。

「SQLConnection」クラスの「Open」メソッドにより、DBへ接続します(13~14行目)。

「SQLCommand」クラスの「ExecuteReader」メソッドにより、SELECT文を実行します(16~17行目)。
※「SqlDataReader」クラスのオブジェクトを取得します。

「SqlDataReader」クラスの「Read」メソッドにより、取得したレコードの1行を取得します(19行目)。
※「Read」メソッドを実行すると次の行へ進みます。

PR

実行結果

SQL ServerへSELECT文を実行できました。

実行結果
実行結果
PR

参考①

PowerShellから
 ・SQL ServerへINSERT文を実行
することもできます!

詳細は以下の記事をご確認ください。

PR

参考②

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「SQLConnection」クラスの「Open」メソッド


●「SQLCommand」クラスの「ExecuteReader」メソッド


●「SqlDataReader」クラスの「Read」メソッド

タイトルとURLをコピーしました