問題タブ [invoke-sqlcmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - PowerShell Invoke-SQLCMD InputFile でエラーが発生するのはなぜですか?
PowerShell スクリプトから SQLCMD を呼び出そうとしていますが、Powershell は -InputFile を Invoke-Sqlcmd に渡す方法が気に入らないようです。私のコードは次のようになります。
$files[0].FullName を出力すると "D:\foo\foo.sql" のような文字列が出力されるため、$files が空になることはありません。アプリケーションがこの行に到達すると、Invoke-Sqlcmd と "$files" の "$" の文字を使用したのと同じ行を指すエラーがスローされます。
次の 2 つのエラー メッセージが表示されます。
実行したいスクリプトのファイルパスを供給する方法に問題はありますか? 正しい形式は何でしょう。.FullName の代わりに .PSPath を使用しようとしましたが、ファイル パスがサポートされていないというエラーが表示されます。
powershell - Invoke-SQLCMD と Powershell 6 を使用して Azure Datawarehouse に接続する Invoke-sqlcmd コマンドの実行エラーを解決するにはどうすればよいですか?
Azure Datawarehouse/Synapse から単純な select ステートメントを実行しようとしています。認証に Azure Active Directory アカウントを使用していますが、私の場合は SQL サーバー認証を使用できません。
このコマンドは、Powershell 5.1.16299、非 dotnet コア バージョンで完全に正常に機能します。
コード
Powershellバージョン: メジャー マイナー パッチ PreReleaseLabel BuildLabel
6 2 4
SQL Server モジュール バージョン ModuleType バージョン名 ExportedCommands ---------- ------- ---- ---------------- スクリプト 21.1.18218 SqlServer {Add-SqlAvailabilityDatabase、Add-SqlAvailabilityGroupListen…</p>
エラー メッセージ Invoke-Sqlcmd : Keyword not supported: 'authentication'. 行:1 文字:1 + Invoke-Sqlcmd -ConnectionString $ConnectionString -Query $query -Quer ... + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidResult: ( :) [Invoke-Sqlcmd]、ArgumentException + FullyQualifiedErrorId : ExecutionFailed、Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
$Error[0].Exception.ToString() 出力 System.ArgumentException: キーワードがサポートされていません: 'authentication'。System.Data.Common.DbConnectionOptions.ParseInternal (辞書) で2 parsetable, String connectionString, Boolean buildChain, Dictionary
System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) の System.Data.SqlClient.SqlConnectionFactory. System.Data.SqlClient.SqlConnection の System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey キー) の System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey キー、DbConnectionPoolGroupOptions poolOptions、DbConnectionOptions& userConnectionOptions) で CreateConnectionOptions (以前の String connectionString、DbConnectionOptions) Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor の System.Data.SqlClient.SqlConnection..ctor(String connectionString) の .set_ConnectionString(String value)。Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor..ctor(GetScriptCommand sqlCmdCmdLet) での CreateSqlConnection() Microsoft.SqlServer.Management.PowerShell.GetScriptCommand.ProcessRecord() での
sql-server - ループで Invoke-Sqlcmd エラー、エラーは一度もありませんか?
この .ps1 スクリプトを実行すると、
エラーなしでコンソールに次のように表示されます-
ただし、より大きなスクリプトの for ループでこの同じクエリを試すと、
正しいクエリ結果が得られますが、コンソールでその前にエラーが表示されます -
1 回実行した場合と比べて、ループで実行した場合にエラーが発生するのはなぜですか? また、エラーが発生してもクエリが機能するのはなぜですか? 私は何かが欠けていると思います。どんな助けでも大歓迎です!