我在 SQL 2019 企业版的 System.Data.SqlClient 命名空间中使用 .NET 类,并通过在 PowerShell 中创建函数成功运行 TSQL 命令。
function SqlQuery($server, $database, $query)
{
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = "Server=$server;Database=$database;Integrated Security=True;"
$connection.Open()
$command = $connection.CreateCommand()
$command.CommandText = $query
$result = $command.ExecuteReader()
$table = new-object “System.Data.DataTable”
$table.Load($result)
$connection.Close()
return $table
}
SqlQuery $Server $Database "SELECT * FROM Staff"
我有一些相当大的 T-SQL 代码存储在离散文件中,我想针对这个实例执行这些代码。是否可以利用该函数调用存储在文件系统文件中的 T-SQL 脚本?
当然。只需使用get-content读取文件内容并将其传递给函数:
如果 sql 文件包含多个批处理,您需要自己分解它,或者使用 SqlServer 模块中的Invoke-Sqlcmd cmdlet,您可以使用它安装