无法调用PowerShell脚本进行数据库访问(MYSQL)

时间:2013-06-06 17:28:04

标签: mysql database powershell powershell-v1.0

使用此数据库连接脚本我在这里找到。我已修改它并进行了正确的设置以让脚本运行但不理解我得到的错误。

脚本代码为here

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 -Query“选择GUID FROM MYTABLE”

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

1 个答案:

答案 0 :(得分:2)

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

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

  

参数declerations是变量名称的逗号列表   使用可选的初始化表达式。在(我的脚本文件   路径)\ MySQL.ps1:5 char:30 + ValueFromPipeline = $ true>] <<<<<

您在此处以及链接中发布的代码确实正确无误。

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

注意 $ true)]

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