Merge pull request #123 from Icinga:feature/test_mssql_connection_on_connect

Feature: Adds support to test MSSQL connections

Adds ability to return $null on open MSSQL connection instead of throwing exceptions for propoer testing
This commit is contained in:
Lord Hepipud 2020-08-28 13:21:49 +02:00 committed by GitHub
commit a7ea337f6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -25,6 +25,9 @@
the user the PowerShell is running with. If this is set and the user the PowerShell is the user the PowerShell is running with. If this is set and the user the PowerShell is
running with can access to the MSSQL database you will not require to provide username running with can access to the MSSQL database you will not require to provide username
and password and password
.PARAMETER TestConnection
Set this if you want to return $null on connection errors during MSSQL.open() instead of
exception messages.
.OUTPUTS .OUTPUTS
System.Data.SqlClient.SqlConnection System.Data.SqlClient.SqlConnection
.LINK .LINK
@ -38,7 +41,8 @@ function Open-IcingaMSSQLConnection()
[string]$Address = "localhost", [string]$Address = "localhost",
[int]$Port = 1433, [int]$Port = 1433,
[string]$SqlDatabase, [string]$SqlDatabase,
[switch]$IntegratedSecurity = $FALSE [switch]$IntegratedSecurity = $FALSE,
[switch]$TestConnection = $FALSE
); );
if ($IntegratedSecurity -eq $FALSE) { if ($IntegratedSecurity -eq $FALSE) {
@ -80,6 +84,11 @@ function Open-IcingaMSSQLConnection()
$SqlConnection.Open(); $SqlConnection.Open();
} catch { } catch {
if ($TestConnection) {
return $null;
}
Exit-IcingaThrowException ` Exit-IcingaThrowException `
-InputString $_.Exception.Message ` -InputString $_.Exception.Message `
-StringPattern $Username ` -StringPattern $Username `