etc.git


etc

~ scripts and random things
git clone https://github.com/djnnvx/etc.git
log | files | refs | archive

sql.ps1 (1352B)

      1 function Run-SQL
      2 {
      3     param (
      4         [Parameter(Mandatory=$true)]
      5         [string]$instance,
      6 
      7         [Parameter(Mandatory=$true)]
      8         [string]$query,
      9 
     10         [Parameter(Mandatory=$false)]
     11         [string]$username,
     12 
     13         [Parameter(Mandatory=$false)]
     14         [string]$password
     15     )
     16 
     17     try {
     18         $connectionString = "Server=$instance;"
     19 
     20         if ($PSCmdlet.MyInvocation.BoundParameters.ContainsKey('username')) {
     21             $credential = New-Object System.Data.SqlClient.SqlCredential($username, $password | ConvertTo-SecureString -AsPlainText -Force)
     22             $connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
     23             $connection.Credential = $credential
     24         }
     25         else {
     26             $connectionString += "Integrated Security=True;"
     27             $connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
     28         }
     29 
     30         using ($connection) {
     31             $connection.Open()
     32             $command = $connection.CreateCommand()
     33             $command.CommandText = $query
     34 
     35             $dataTable = New-Object System.Data.DataTable
     36             $dataTable.Load($command.ExecuteReader())
     37 
     38             return $dataTable
     39         }
     40     }
     41     catch {
     42         Write-Error "An error occurred while executing the SQL query: $($_.Exception.Message)"
     43         return $null
     44     }
     45 }