[英]How to connect to a SQL Server database using PowerShell
我目前正在研究一個PowerShell腳本,該腳本應該每天早上連接到我的公司數據庫,檢查SCCM中是否有待處理的軟件批准請求,並向相關人員發送電子郵件,使他們可以接受或拒絕該請求並執行鏈接PowerShell腳本。
我的問題當前與第一步有關,即連接到數據庫。
我創建了一個SQL Server帳戶,通過該帳戶我可以連接到服務器上的Microsoft SQL Server Management Studio,但是無法與我的腳本連接...
我在此網站上找到了此代碼,人們顯然在說它正在運行,但是運行它時總是會出現超時錯誤:
Function GetPendingRequests {
param (
[string]$SQLServer,
[string]$SQLDBName,
[string]$uid,
[string]$pwd
)
$SqlQuery = "select * from [Database].[dbo].[UserApplicationRequests]"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User Id = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
return $DataSet.Tables[0]
}
順便說一下,[數據庫]包含真實的數據庫名稱,並且變量是正確的...我已經檢查了以下幾點:
有誰知道我做錯了什么,為什么這個PowerShell函數無法連接到數據庫?
運行腳本時是否出現任何錯誤?
您可能需要指定數據庫所在的服務器(尤其是在遠程計算機上)
例如:
$SqlConnection.ConnectionString = "Server = localhost\\MySqlServerInstance; Database = $SQLDBName; User Id = $uid; Password = $pwd;
當然,這可以作為參數來完成,這只是一個示例。
看一下https://www.connectionstrings.com/sql-server/和https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx ,以獲取有關連接的更多信息字符串。
這只是一個猜測,因為我們沒有太多信息來了解運行腳本時實際發生的情況(以及調用方式),因此隨時提供其他詳細信息進行答復,我們將繼續那里!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.