この記事では
・Power Shellから
・.NETを使用して
・SQL(SELECT文)を実行
するサンプルプログラムを記載します!
.NETを使用するため、invoke-sqlCmdが
使用できない環境(SQL Serverが未インストール)でも
SQL Serverへ接続できます!
サンプルプログラムの概要
テーブル「employee」に対し、SELECT文を実行します。
サンプルプログラム
ファイル名「sample.ps1」に以下のコードを記述します。
ここでは例として「SQL Server認証」でSQL Serverへ接続します。
$connStr = New-Object -TypeName System.Data.SqlClient.SqlConnectionStringBuilder
# サーバー名(サーバーのPC名\インスタンス名)
$connStr['Data Source'] = "localhost\SQLEXPRESS"
# データベース名
$connStr['Initial Catalog'] = "sampleDB"
# ユーザー名
$connStr['user id'] = "XXXXX"
# パスワード
$connStr['password'] = "XXXXX"
# Windows認証で接続
# $connStr['Integrated Security'] = "TRUE"
# 実行するSQL文(SELECT文)
$sql = "SELECT * FROM employee"
# SELECT結果を格納するDataTableを定義
$dt = New-Object System.Data.DataTable
# SQLConnectionとSQLCommandを定義
$conn = New-Object System.Data.SQLClient.SQLConnection($connStr)
$cmd = New-Object System.Data.SQLClient.SQLCommand($sql, $conn)
# 接続
$conn.Open()
# SQL文(SELECT文)を実行し結果をDataTableへ格納
$dt.Load($cmd.ExecuteReader())
# 切断
$conn.Close()
# DataTableの内容をコンソールに表示
$dt
実行結果
Power Shellから.NETを使用して、SQL ServerへSQLを実行できました。
参考①
.NET ではなく、invoke-sqlCmdを使用してSQL ServerへSQLを実行することもできます。
※invoke-sqlCmdを使用した方がシンプルです。
詳細は以下の記事をご確認ください。
参考②
Power Shellのノウハウサイトも運営しています。
合わせてご確認ください!