Как проверить на ошибки с powershell sql - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужно проверить общие ошибки с моим sql, например, убедиться, что он подключен нормально, убедитесь, что он возвращает с результатами запроса, и т. Д. Я попытался попробовать / поймать, но хотя я знаю, что мой логин неверный, этоне нашел ошибку с уловом.Я нашел идею try / catch в try catch .

Как я могу идентифицировать или поймать, когда он не входит в БД или возвращает 0 результатов?

Это то, что я имею до сих пор:

function SQLQueryWriteToFile([string]$SQLquery, [string]$extractFile, [string]$facility)
{
   #create sql connection to connect to the sql DB

   try{
      $sqlConnection = New-Object System.Data.SqlClient.SqlConnection


      $sqlConnection.ConnectionString = "Server=blah;Database=blah;User ID=blah;Password=blah"  #sql connection
      $sqlConnection.Open()

      #Create a SqlCommand object to define the query
      $sqlCmd = New-Object System.Data.SqlClient.SqlCommand
      $sqlCmd.CommandText = $SQLquery
      $sqlCmd.Parameters.Add('@facility',$facility)
      $sqlCmd.Connection = $sqlConnection

      #create a SqlAdapter that actually does the work and manages everything
      $sqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
      $sqlAdapter.SelectCommand = $sqlCmd
      $sqlAdapter.SelectCommand.CommandTimeout=300  #set timeout for query execution to 5 minutes (60x5=300)

      #create an empty dataSet for the query to fill with its results
      $dataSet = New-Object System.Data.DataSet

      #execute the query and fill the dataSet (then disconnect)
      $sqlAdapter.Fill($dataSet)
      $sqlConnection.Close()


      #dump the data to csv
      $DataSet.Tables[0] | Export-Csv $extractFile #this may not be comma delimited...need to check
   } #try
   catch{
      if($LASTEXITCODE -ne 0) #if there was an error, record it
      {
         Write-host $PSItem.ToString()
         $global:ErrorStrings.Add("Exception: $LASTEXITCODE ; $PSItem.ToString()  ")
      }
      else
      {
         $global:ErrorStrings.Add("Exception: $LASTEXITCODE ; $PSItem.ToString()  ")
      }
   } #catch
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...