在本地计算机上从 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中文网其他相关文章!