使用Execute-SQLQuery运行SQL查询

时间:2015-08-25 17:47:31

标签: powershell

我正在尝试使用powershell来运行SQL查询。我遇到2个错误,不知道如何解决。这是我的语法

Function Execute-SQLquery 
{

  $QueryString = "Select employeename, employeeaddress, employeephone from employeefile where et = 'Active'"
  $Date = Get-Date -f 'MM.dd.yy'
  $FilePath = "R:\Test\Testing\"

  $SD = "M:\\CSV\Template\Try.csv"

  $server = "server"
  $database = "db"

  $connectionTemplate = "Data Source={0};Integrated Security=SSPI;Initial Catalog={1};"
  $connectionString = [string]::Format($connectionTemplate, $server, $database)
  $conn=New-Object System.Data.SqlClient.SqlConnection($connectionString)

  $cmd=$conn.CreateCommand()
  $cmd.CommandText = $QueryString   

  $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
  $dt = New-Object System.Data.DataTable
  $rowCount=$SqlAdapter.Fill($dt)

  [System.IO.Directory]::CreateDirectory($SD)
  $DataSet.Tables[0] | Export-Csv $SD -NoTypeInformation


  $connection.Close()
}

以下是错误:

  

无法索引到空的aray中$ $ DataSet.Tables [0] | Export-CSV $ SD - NoTypeInformation

     

您不能在空值表达式上调用方法
$ connection.Close()

1 个答案:

答案 0 :(得分:1)

你这里只有两个错别字。我将假设这是你的代码咬(从多个地方抓取片段并将它们放在一起)从互联网上制作解决方案的结果

  • $dt$dataset
  • 不同
  • $conn$connection
  • 不同

在这两种情况下都要更新脚本以使用前者。