-2

使用我在这里找到的这个数据库连接脚本。我已经对其进行了修改并进行了正确的设置以让脚本运行,但不明白我遇到的错误。

脚本代码在这里

Param(
  [Parameter(
  Mandatory = $true,
  ParameterSetName = '',
  ValueFromPipeline = $true)]
  [string]$Query
  )

$MySQLAdminUserName = 'myName'
$MySQLAdminPassword = 'myPass'
$MySQLDatabase = 'myDatabase'
$MySQLHost = 'HostingServerForMyDatabase'
$ConnectionString = server= + $MySQLHost + ;port=3306;uid= + $MySQLAdminUserName + ;pwd= + $MySQLAdminPassword + ;database=+$MySQLDatabase+

Try {
  [void][System.Reflection.Assembly]LoadWithPartialName(MySql.Data)
  $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
  $Connection.ConnectionString = $ConnectionString
  $Connection.Open()

  $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
  $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
  $DataSet = New-Object System.Data.DataSet
  $RecordCount = $dataAdapter.Fill($dataSet, data)
  $DataSet.Tables[0]
  }

Catch {
  Write-Host ERROR  Unable to run query  $query `n$Error[0]
 }

Finally {
  $Connection.Close()
  }

因此,这是我使用以下命令收到的错误 -

命令:.\MySQL.ps1 - 查询“从 MYTABLE 中选择 GUID”

错误:参数声明是一个逗号分隔的变量名列表,带有可选的初始化表达式。在(我的脚本文件路径)\MySQL.ps1:5 char:30 + ValueFromPipeline = $true)] <<<<

4

1 回答 1

2

显然,错误不是来自运行问题或链接中所示的脚本,而是一些未知的其他脚本。

错误消息显示您缺少右括号。

参数声明是一个逗号分隔的变量名列表,带有可选的初始化表达式。在(我的脚本文件路径)\MySQL.ps1:5 char:30 + ValueFromPipeline = $true>] <<<<

您在此处和链接中发布的代码确实正确。

Param(
  [Parameter(
  Mandatory = $true,
  ParameterSetName = '',
  ValueFromPipeline = $true)]
  [string]$Query
  )

注意$true)]

更正 MySQL.ps1,使其与您的链接中的完全相同。

于 2013-06-06T21:14:18.103 回答