在PowerShell中如何将数据库数据读入变量

时间:2018-02-21 01:03:27

标签: sql-server powershell variables

在PowerShell脚本中,我需要从SQL Server表中获取值。该值需要存储在PowerShell变量中。它只是一个值 - 而不是整个数据集。

如何做到这一点?

感谢。

2 个答案:

答案 0 :(得分:0)

以下是使用Sqlclient的示例(采用C#样式:-))。

$cn = New-Object System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=tempdb;Integrated Security=SSPI");
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT 1", $cn);
$cn.Open();
$yourVariable = $cmd.ExecuteScalar();
Write-Host "The value of yourVariable is $yourVariable";
$cn.Close();

答案 1 :(得分:0)

FWIW,这是我如何应用该技术来获取SQL Agent作业步骤的输出文件的路径,因此我可以写入该文件。

$cn = New-Object System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=msdb;Integrated Security=SSPI");
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT msdb.dbo.sysjobsteps.output_file_name FROM msdb.dbo.sysjobs LEFT JOIN msdb.dbo.sysjobsteps ON msdb.dbo.sysjobs.job_id = msdb.dbo.sysjobsteps.job_id WHERE name = 'TestPS1' AND step_name = 'MyJobStep'", $cn);
$cn.Open();
$OutputFile = $cmd.ExecuteScalar();
$cn.Close();
Add-Content $OutputFile "Starting DEPLOY_SANITIZE_SCHEMA.sql __test_b"
Add-Content $OutputFile "##########"