ps/Modules/Alkami.PowerShell.Common/Public/Invoke-QueryOnClientDatabase.ps1
2023-05-30 22:51:22 -07:00

41 lines
1.1 KiB
PowerShell

function Invoke-QueryOnClientDatabase {
<#
.SYNOPSIS
Runs a Query Against a Client Database Object
#>
param (
[Parameter(Position = 0, Mandatory = $true)]
[PSObject]$Client,
[Parameter(Position = 1, Mandatory = $true)]
[string]$QueryString
)
$conn = New-Object System.Data.SqlClient.SqlConnection
$conStrBuilder = New-Object System.Data.SqlClient.SqlConnectionStringBuilder($Client.ConnectionString)
$conn.ConnectionString = $conStrBuilder.ToString()
Write-Verbose ("Connecting to master database with connection string {0}" -f $conStrBuilder.ToString())
try {
$conn.Open()
$query = New-Object System.Data.SqlClient.SqlCommand($QueryString, $conn)
$result = $query.ExecuteScalar()
$result
}
catch {
Write-Warning "An exception occurred while trying to execute the specified query against the client database"
Write-Warning $error[0] | Format-List -Force
return $null
}
finally {
if ($conn.State -ne [System.Data.ConnectionState]::Closed) {
$conn.Close()
}
$conn = $null
}
}