![](https://powershell.work/wp-content/themes/cocoon-master/images/b-woman.png)
PowerShellから
・テーブルのレコードをCSVファイルへ出力
できます!
![テーブルのレコード](https://powershell.work/wp-content/uploads/2023/01/ps_sqlserver_csv_output_001.png)
![](https://powershell.work/wp-content/themes/cocoon-master/images/b-woman.png)
出力するCSVファイルには
・列名(カラム名)も出力
されます!
![出力するCSVファイル](https://powershell.work/wp-content/uploads/2023/01/ps_sqlserver_csv_output_002.png)
コード
ここでは例として
・SQL Server上のDB「sampleDB」にあるテーブル「employee」のレコードを
・CSVファイルへ出力
します。
# サーバー名(サーバーのPC名\インスタンス名)
$serverName = 'localhost\SQLEXPRESS'
# データベース名
$dbName = 'sampleDB'
# ユーザー名
$userName = 'XXXXX'
# パスワード
$password = 'XXXXX'
# SQL
$query = 'SELECT * FROM employee'
# 出力するCSVファイルのパス
$csvFilePath = "C:\Users\user\Desktop\result.csv"
$Params = @{
'ServerInstance' = $serverName
'Database' = $dbName
'Username' = $userName
'Password' = $password
'Query' = $query
}
# SQLを実行し結果をCSVファイルへ出力
invoke-sqlCmd @Params | Export-Csv $csvFilePath -NoTypeInformation -Encoding Default
# CSVファイルの中のダブルクォーテーションを置換により削除
(Get-Content $csvFilePath -ErrorAction Stop) -creplace """","" | Out-File -Encoding default $csvFilePath
実行結果
テーブルのレコードをCSVファイルへ出力できました。
![実行結果①](https://powershell.work/wp-content/uploads/2023/01/ps_sqlserver_csv_output_003.png)
![実行結果②](https://powershell.work/wp-content/uploads/2023/01/ps_sqlserver_csv_output_002.png)
参考①
上記のコードは以下の記事を参考にして作成しました。
●テキストファイル内の文字列を置換する
参考②
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「invoke-sqlCmd」コマンドレット
●「Export-Csv」コマンドレット