SQLクエリの結果を取得するためにpowershellスクリプトを実行しています(SQL2016のJSON形式)。結果は個別の行に分割されています1つのJSON文字列とファイルの先頭にあるヘッダ情報の代わりに、最後に '...'を付けてください。これにより、JSONは使用できなくなります。Powershell Invoke-Sqlcmd出力に「...」とランダムなヘッダが含まれています
私は、これはSSMSで同じクエリを実行することにより、PowerShellの側にあることを確認し、予想通りの結果が出てきた(有効なJSON)
私は、Invokeの出力を制御するための任意のコマンドライン引数を見つけることができませんでした-SqlCommand
PowerShellを初めてお使いの方...このPowerShellスクリプトからクリーンなJSONを手に入れる方法を知りたいですか?
PowerShellスクリプト:
Invoke-Sqlcmd -InputFile "C:\Dashboard\sql\gtldata.sql" | Out-File -filepath "C:\Dashboard\json\gtldata.json"
返されたドキュメントのサンプル:あなたはあなたの呼び出しに-MaxCharLength
オプションを追加する必要が
JSON_F52E2B61-18A1-11d1-B105-00805F49916B
-----------------------------------------
{"KPI":[{"BusinessUnit":"Water - Industrial","Location":"SPFIN","TestDate":"2016-09-19T21:11:10.837","TestResult":"Fail","FailReason":"P...
ial":"100161431","PumpType":"xxx","Stages":0},{"BusinessUnit":"Water - Industrial","Location":"SPFIN","TestDate":"2016-09-20T01:48...
"PumpType":"xxx","Stages":0},{"BusinessUnit":"Pre-engineered","Location":"SPSPA","TestDate":"2016-09-20T10:46:38.403","TestResult"...
"| Format-Table"またはその他の書式設定コマンドレットを追加してみてください:https://docs.microsoft.com/en-us/powershell/scripting/using-format-commands-to-change-output-view?view = powershell-6。 – jmoon
私は を取得します。{Out-File:パラメータ 'Encoding'で引数を検証できません。引数 "Format-Wide"は、ValidateSet属性で指定された "unknown、string、unicode、bigendianunicode、utf8、utf7、utf32、ascii、default、oem"に属しません。 セット内の引数を指定してから、コマンドをもう一度やり直してください。} PowerShellをまだ学んでいますが、このエラーについてさらに調査します。 – beeker
Format-Wideは1つの入力を受け取ります。出力の内容に応じて、他の形式のコマンドレットを試してみてください。私はそれがテーブルだと仮定しているので、| Format-TableはFormat-Wideよりも優れています。 – jmoon