summaryrefslogtreecommitdiff
path: root/tests/examplefiles/test.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examplefiles/test.ps1')
-rw-r--r--tests/examplefiles/test.ps1108
1 files changed, 0 insertions, 108 deletions
diff --git a/tests/examplefiles/test.ps1 b/tests/examplefiles/test.ps1
deleted file mode 100644
index 385fb6f4..00000000
--- a/tests/examplefiles/test.ps1
+++ /dev/null
@@ -1,108 +0,0 @@
-<#
-.SYNOPSIS
-Runs a T-SQL Query and optional outputs results to a delimited file.
-.DESCRIPTION
-Invoke-Sql script will run a T-SQL query or stored procedure and optionally outputs a delimited file.
-.EXAMPLE
-PowerShell.exe -File "C:\Scripts\Invoke-Sql.ps1" -ServerInstance "Z003\sqlprod2" -Database orders -Query "EXEC usp_accounts '12445678'"
-This example connects to Z003\sqlprod2.Orders and executes a stored procedure which does not return a result set
-.EXAMPLE
-PowerShell.exe -File "C:\Scripts\Invoke-Sql.ps1" -ServerInstance "Z003\sqlprod2" -Database orders -Query "SELECT * FROM dbo.accounts" -FilePath "C:\Scripts\accounts.txt" -Delimiter ","
-This example connects to Z003\sqlprod2.Orders and selects the records from the accounts tables, the data is outputed to a CSV file
-.NOTES
-Version History
-v1.0 - Chad Miller - 12/14/2010 - Initial release
-IMPORTANT!!! The EventLog source which is set to the application needs to be registered with
-the Event log:
-New-EventLog -LogName Application -Source $Application
-#>
-param(
-#ServerInstance is Mandatory!
-[Parameter(Position=0, Mandatory=$false)] [string]$ServerInstance,
-#Database is Mandatory!
-[Parameter(Position=1, Mandatory=$false)] [string]$Database,
-#Query is Mandatory!
-[Parameter(Position=2, Mandatory=$false)] [string]$Query,
-[Parameter(Position=3, Mandatory=$false)] [string]$Application="Invoke-Sql.ps1",
-[Parameter(Position=4, Mandatory=$false)] [string]$FilePath,
-[Parameter(Position=7, Mandatory=$false)] [string]$Delimiter="|",
-#If UserName isn't supplied a trusted connection will be used
-[Parameter(Position=5, Mandatory=$false)] [string]$UserName,
-[Parameter(Position=6, Mandatory=$false)] [string]$Password,
-[Parameter(Position=8, Mandatory=$false)] [Int32]$QueryTimeout=600,
-[Parameter(Position=9, Mandatory=$false)] [Int32]$ConnectionTimeout=15
-)
-
-
-#This must be run as administrator on Windows 2008 and higher!
-New-EventLog -LogName Application -Source $Application -EA SilentlyContinue
-$Error.Clear()
-
-#######################
-function Invoke-SqlCmd2
-{
- param(
- [Parameter(Position=0, Mandatory=$true)] [string]$ServerInstance,
- [Parameter(Position=1, Mandatory=$true)] [string]$Database,
- [Parameter(Position=2, Mandatory=$true)] [string]$Query,
- [Parameter(Position=3, Mandatory=$false)] [string]$UserName,
- [Parameter(Position=4, Mandatory=$false)] [string]$Password,
- [Parameter(Position=5, Mandatory=$false)] [Int32]$QueryTimeout,
- [Parameter(Position=6, Mandatory=$false)] [Int32]$ConnectionTimeout
- )
-
- try {
- if ($Username)
- { $ConnectionString = "Server={0};Database={1};User ID={2};Password={3};Trusted_Connection=False;Connect Timeout={4}" -f $ServerInstance,$Database,$Username,$Password,$ConnectionTimeout }
- else
- { $ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $ServerInstance,$Database,$ConnectionTimeout }
- $conn=new-object System.Data.SqlClient.SQLConnection
- $conn.ConnectionString=$ConnectionString
- $conn.Open()
- $cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn)
- $cmd.CommandTimeout=$QueryTimeout
- $ds=New-Object system.Data.DataSet
- $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
- [void]$da.fill($ds)
- Write-Output ($ds.Tables[0])
- }
- finally {
- $conn.Dispose()
- }
-
-} #Invoke-SqlCmd2
-
-#######################
-# MAIN #
-#######################
-if ($PSBoundParameters.Count -eq 0)
-{
- get-help $myInvocation.MyCommand.Path -full
- break
-}
-
-try {
- $msg = $null
- $msg += "Application/Job Name: $Application`n"
- $msg += "Query: $Query`n"
- $msg += "ServerInstance: $ServerInstance`n"
- $msg += "Database: $Database`n"
- $msg += "FilePath: $FilePath`n"
-
- Write-EventLog -LogName Application -Source "$Application" -EntryType Information -EventId 12345 -Message "Starting`n$msg"
- $dt = Invoke-SqlCmd2 -ServerInstance $ServerInstance -Database $Database -Query $Query -UserName $UserName -Password $Password -QueryTimeOut $QueryTimeOut -ConnectionTimeout $ConnectionTimeout
- if ($FilePath)
- {
- if ($dt)
- { $dt | export-csv -Delimiter $Delimiter -Path $FilePath -NoTypeInformation }
- else #Query Returned No Output!
- {Write-EventLog -LogName Application -Source "$Application" -EntryType Warning -EventId 12345 -Message "NoOutput`n$msg" }
- }
-
- Write-EventLog -LogName Application -Source "$Application" -EntryType Information -EventId 12345 -Message "Completed`n$msg"
-}
-catch {
- $Exception = "{0}, {1}" -f $_.Exception.GetType().FullName,$( $_.Exception.Message -replace "'" )
- Write-EventLog -LogName Application -Source "$Application" -EntryType Error -EventId 12345 -Message "Error`n$msg`n$Exception"
- throw
-}