SITECORE MANIA 開発者向け技術ブログ

その他

橋本

橋本

SitecorePowerShellExtensionsでSQLコマンドを実行する方法

このスクリプトでは、GetConnectionString("master") の部分で接続するデータベースを指定し、$query の部分に実行したい SQL コマンドを記述することで、対象のデータベースに対して SQL を実行できます。

スクリプト内容

# DBへの接続文字列を取得
$connectionString = [Sitecore.Configuration.Settings]::GetConnectionString("master")

# 実行するSQLクエリ
$query = "SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';"

# SQLConnection、SQLCommandを設定
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection($connectionString);
$sqlCommand = New-Object System.Data.SqlClient.SQLCommand($query, $sqlConnection);

# DataTableを利用してSQL実行結果を一時格納
$resultsDataTable = New-Object System.Data.DataTable;

$sqlConnection.Open()

# ExecuteReaderを実行してDataTableにデータを格納
$resultsDataTable.Load($sqlCommand.ExecuteReader());

# CSV形式で標準出力
$resultsDataTable | ConvertTo-Csv -NoTypeInformation;

$sqlConnection.Close()

Write-Host "end"

出力例(CSV形式)

"TABLE_SCHEMA","TABLE_NAME"
"dbo","Items"
"dbo","Versions"
...(以下略)

※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス