在本機上從 PowerShell 執行 SQL 查詢
PowerShell 提供了在 SQL Server 執行個體上執行任意 SQL 查詢的功能。只需使用現有的 .NET 和 PowerShell 即可完成此操作。以下是一個簡化過程的函數:
function Invoke-SQL { param( [string] $dataSource = ".\SQLEXPRESS", [string] $database = "MasterData", [string] $sqlCommand = $(throw "Please specify a query.") ) $connectionString = "Data Source=$dataSource; " + "Integrated Security=SSPI; " + "Initial Catalog=$database" $connection = new-object system.data.SqlClient.SQLConnection($connectionString) $command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection) $connection.Open() $adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command $dataset = New-Object System.Data.DataSet $adapter.Fill($dataSet) | Out-Null $connection.Close() $dataSet.Tables }
此函數需要您指定資料來源(通常是您的電腦名稱或 .SQLEXPRESS)、資料庫名稱以及要執行的 SQL 命令。
定義此函數後,您可以透過使用適當的參數呼叫 Invoke-SQL 從 PowerShell 執行任意查詢。例如,以下命令會在本機SQL Server 執行個體上的「MyDatabase」資料庫上執行查詢「SELECT * FROM Customers」:
Invoke-SQL -database "MyDatabase" -sqlCommand "SELECT * FROM Customers"
這將傳回包含查詢結果的資料集,然後您可以在PowerShell中使用它。
此功能已進一步增強為 GitHub 上提供的 PowerShell 模組:https://github.com/ChrisMagnuson/InvokeSQL。透過安裝此模組,您可以自動將 Invoke-SQL 函數載入到您的 PowerShell 環境中並無縫使用,而無需手動定義。
以上是如何直接從 PowerShell 執行 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!