0

別のスクリプト内から、そのようにpowershellスクリプトを呼び出しています。

function test_execute_sql_2_direct_query()
  {
    & C:\Server\Scripts\PowerShellDeploy\Execute-SQL-Command.ps1 -SERVER_NAME "myserver" -SQL_COMMAND_TYPE "input" -SQL_FILE ".\select.sql" -USER_NAME "username" -PASSWORD "password" -DATABASE "accounts"
  }

その関数を呼び出すと、Powershell から「パラメーター 'Query' の引数を検証できません」というエラー メッセージが表示されます。引数が null または空です....'

なぜそのメッセージが表示されるのかよくわかりません。Execute-SQL-Command スクリプトには、'Query' という引数がありません。私は何かが欠けている可能性が非常に高いです。

パラメータセクションは次のとおりです。

param(
[Parameter(
         HelpMessage="Server Name")]
[string]$SERVER_NAME = "",

[Parameter(
         HelpMessage="Database")]
[string]$DATABASE = "",

    [Parameter(
         HelpMessage="Path to .SQL File to run. Used in input file mode (not direct query mode)")]
[string]$SQL_FILE ="",  

    [Parameter(
         HelpMessage="Server Port (default = 1433)")]
[string]$SERVER_PORT = "1433",

    [Parameter(
         HelpMessage="Server Transport (default = tcp")]
[string]$TRANSPORT = "tcp", 

[Parameter(
         HelpMessage="Method of connecting to database <passthrough, credentialed>")]
[string]$CONNECT_METHOD = "passthrough",

[Parameter(
        HelpMessage="Username -- used only for credentialed login")]
[string]$USER_NAME = "username",

[Parameter(
        HelpMessage="Command type-- direct query or input file (.sql)")]
[string]$SQL_COMMAND_TYPE = "DIRECT_QUERY",

[Parameter(
        HelpMessage="SQL statement text type-- used in direct queries")]
[string]$SQL_STATEMENT = "",

[Parameter(
        HelpMessage="Password -- used only for credentialed login")]
[string]$PASSWORD = "pwd")
4

1 に答える 1

0

これはユーザー エラーに分類されます。実際のエラーは、Execute-SQL-Command.ps1 で呼び出された行、具体的には Invoke-Sqlcmd コマンドレットから発生していました。

于 2012-09-13T18:03:57.663 に答える