0
私はPowerShellを使用して接続することにより、SQLサーバーからテーブルの数を取得しようとしていますが、私は以下のエラーメッセージを取得していますが、私はちょうど行う場合は代わりに、カウントのテーブルの上に、その後選択同じコードが結果を返していますので、この問題の解決策が得られていないことをお勧めします。のPowershell SQLサーバーへの接続とカウントエキス
エラーメッセージ:
例外「1」引数(複数可)を「塗りつぶし」を呼び出す:「実行タイムアウト は、期限切れ前 操作が完了するか、サーバーが応答しないに経過タイムアウト時間を。 " + $ DataAdapter.Fill($データセット) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [] 、MethodInvocationException + FullyQualifiedErrorId:SQLExceptionが
スクリプト:
[string] $Server= "Server_nm"
[string] $Database = "DB_nm"
[string] $UserSqlQuery = $("SELECT count(1) AS cnt FROM [tbl]")
##$resultsDatatable = ExecuteSqlQuery $Server $Database $UserSqlQuery
function GenericSqlQuery ($Server, $Database, $SQLQuery) {
$Datatable = New-Object System.Data.DataTable
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$Server';database='$Database';trusted_connection=true;"
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Command.CommandText = $SQLQuery
$DataAdapter = new-object System.Data.SqlClient.SqlDataAdapter $Command
$Dataset = new-object System.Data.Dataset
$DataAdapter.Fill($Dataset)
$Connection.Close()
return $Dataset.Tables[0]
} $resultsDatatable = GenericSqlQuery $Server $Database $UserSqlQuery
#validate we got data
Write-Host ("The table contains: " + $resultsDatatable.Rows.Count + " rows")