使用 PowerShell 脚本运行 SQL 查询161



PowerShell 是一种强大的命令行界面 (CLI),可用于管理 Windows 及其应用程序。它还可以用于与 SQL Server 数据库交互,包括运行 SQL 查询。本文将指导您如何使用 PowerShell 脚本运行 SQL 查询并处理结果。

导入 SQL Server 模块

要使用 PowerShell 与 SQL Server 交互,您需要导入 SQL Server 模块。使用以下命令:Import-Module SQLPS

连接到 SQL Server

连接到 SQL Server 数据库,您需要提供以下信息:
服务器名称: 用来连接的服务器名称或 IP 地址
数据库名称: 要连接的数据库名称
用户名: 连接到数据库的用户名
密码: 连接到数据库的密码

您可以使用以下命令连接到 SQL Server:
$connectionString = "Server=;Database=;User Id=;Password="
$connection = New-Object ($connectionString)
$()

运行 SQL 查询

连接到数据库后,您可以使用 PowerShell 命令运行 SQL 查询。使用以下语法:
$query = "SELECT * FROM table_name"
$command = New-Object ($query, $connection)
$reader = $()

处理查询结果

运行查询后,您可以使用以下方法来处理结果:
$reader["column_name"]: 获取指定列的值
$: 检查结果是否包含任何行
$(): 处理结果中的多个结果集

编写 PowerShell 脚本

要将上述命令组合成一个 PowerShell 脚本,请创建并保存以下文件(例如:run_sql_query.ps1):
Import-Module SQLPS
# 数据库连接字符串
$connectionString = "Server=localhost;Database=AdventureWorks2019;User Id=sa;Password=StrongPassword!"
try {
# 连接到 SQL Server
$connection = New-Object ($connectionString)
$()
# 运行 SQL 查询
$query = "SELECT * FROM "
$command = New-Object ($query, $connection)
$reader = $()
# 处理查询结果
while ($()) {
# 获取特定的列值
$contactId = $reader["ContactID"]
$firstName = $reader["FirstName"]
$lastName = $reader["LastName"]
# 输出联系人的详细信息
Write-Host "Contact ID: $contactId"
Write-Host "First Name: $firstName"
Write-Host "Last Name: $lastName"
}
}
finally {
# 关闭连接
if ($ -eq "Open") {
$()
}
}

执行脚本

要执行 PowerShell 脚本,请打开 PowerShell 控制台并导航到脚本文件所在的目录。然后,运行以下命令:
.\run_sql_query.ps1

其他注意事项
确保使用正确的 SQL Server 模块版本。较旧版本的 SQL Server 需要 SQLSMO 模块,而较新版本则需要 SQLPS 模块。
如果您使用 SQL Server 认证来连接到数据库,请在连接字符串中指定 Trusted_Connection=False。
在 finally 块中关闭连接以释放资源。
您可以使用其他 PowerShell 命令和函数来增强您的脚本,例如 ForEach-Object 和 Select-Object。

2024-11-30


上一篇:HTA 调用 PowerShell 脚本:入门指南

下一篇:优雅无缝:在 Python 中运行 PowerShell 脚本