J'ai créé une procédure stockée CLR avec la définition de méthode suivante en C#:SQL Server 2016 CLR procédure stockée avec le paramètre annulable sur
public static void MyProcedure (SqlString path, SqlString fileName, out SqlBoolean? myValue)
Mais lorsque je tente de créer dans SQL Server 2016:
create procedure [dbo].[MyProcedure]
@path nvarchar(max),
@fileName nvarchar(max),
@myValue bit output
with execute as caller
as external name [MyAssembly].[StoredProcedures].[MyProcedure]
je reçois l'erreur suivante:
CREATE PROCEDURE for "MyProcedure" failed because T-SQL and CLR types for parameter "@myValue" do not match.
Est-il possible possible de créer un CLR stocké Procéd ure qui a un paramètre nullable out? Et si oui, comment?
Ensuite, comment allez-vous définir sa valeur à null? Si j'essaye 'myValue = null' je reçois une erreur de compilation de" Impossible de convertir null à 'System.Data.SqlTypes.SqlBoolean' parce que c'est un type de valeur non-nullable " –
Content de l'avoir fait fonctionner :-). J'ai mis à jour à nouveau pour ajouter un peu plus d'informations et un lien vers une série d'articles sur lesquels je travaille qui pourrait être utile. –