I have a SQL Server stored procedure which accepts first two parameters as uniqueidentifier and a third as nvarchar. When I execute against Azure SQL database in SSMS, it works fine and no problem but when I use Azure PowerShell, then I get the following exception
Invoke-Sqlcmd : Error converting data type nvarchar to uniqueidentifier.
PowerShell script
$parameter1 = New-Guid
$parameter2 = New-Guid
$parameter3 = "Test"
$DatabaseName = "xxxx"
$ServerName = "xxxx"
$sqlQuery = "
EXEC [dbo].[spxxxxxx]
@parameter1 = [Guid]${parameter1},
@parameter2 = [Guid]${parameter2},
@parameter3 = '${parameter3}'
"
$params = @{
'Database' = $DatabaseName
'ServerInstance' = $ServerName
'Username' = 'xxxx'
'Password' = 'xxxx'
'OutputSqlErrors' = $true
'Query' = $sqlQuery
}
Invoke-Sqlcmd @params
Can anyone suggest how do I pass Guid parameters for stored procedure in PowerShell using Invoke-Sqlcmd to fix this problem?