Private/DBUtil.ps1
function Get-LegacyDatabaseConfig($Role) { $path = Get-LegacyDBConfigPath $Role if (Test-Path $path) { [xml]$dbConfigReader = Get-Content $path $dbConfig = @{ Server = $dbConfigReader.DataConnectionConfig.serversList.Server.name; Database = $dbConfigReader.DataConnectionConfig.serversList.Server.databasesList.Database.name; } Write-Verbose "Database configuration found and read" return $dbConfig } else { Write-Warning "No database configuration $path" return $null } } function Get-ConnectionString( $Server, $Database, $IntegratedSecurity, $Login, $Password) { return "Server=$Server;Database=$Database;User ID=$Login;Password=$Password;Integrated Security=$IntegratedSecurity" } function Get-DatabaseData { [CmdletBinding()] param ( [string]$connectionString, [string]$query, [switch]$isSQLServer ) if ($isSQLServer) { Write-Verbose 'in SQL Server mode' $connection = New-Object -TypeName System.Data.SqlClient.SqlConnection } else { Write-Verbose 'in OleDB mode' $connection = New-Object -TypeName System.Data.OleDb.OleDbConnection } $connection.ConnectionString = $connectionString $command = $connection.CreateCommand() $command.CommandText = $query if ($isSQLServer) { $adapter = New-Object -TypeName System.Data.SqlClient.SqlDataAdapter $command } else { $adapter = New-Object -TypeName System.Data.OleDb.OleDbDataAdapter $command } $dataset = New-Object -TypeName System.Data.DataSet $adapter.Fill($dataset) $dataset.Tables[0] } function Invoke-DatabaseQuery { [CmdletBinding()] param ( [string]$connectionString, [string]$query, [switch]$isSQLServer ) if ($isSQLServer) { Write-Verbose 'in SQL Server mode' $connection = New-Object -TypeName System.Data.SqlClient.SqlConnection } else { Write-Verbose 'in OleDB mode' $connection = New-Object -TypeName System.Data.OleDb.OleDbConnection } $connection.ConnectionString = $connectionString $command = $connection.CreateCommand() $command.CommandText = $query $connection.Open() $command.ExecuteNonQuery() $connection.close() } |