パラメータでストアドプロシージャ:SQL Serverの2016 CLRが出てNULL可能私はC#で次のメソッドの定義とCLRストアドプロシージャを作成している
:public static void MyProcedure (SqlString path, SqlString fileName, out SqlBoolean? myValue)
をしかし、私は2016年のSQL Serverで作成しようとすると、
create procedure [dbo].[MyProcedure]
@path nvarchar(max),
@fileName nvarchar(max),
@myValue bit output
with execute as caller
as external name [MyAssembly].[StoredProcedures].[MyProcedure]
私は次のエラーを取得する:
CREATE PROCEDURE for "MyProcedure" failed because T-SQL and CLR types for parameter "@myValue" do not match.
はproced保存されたCLRを作成するために、すべての可能な方法はありますureはnullable outパラメータを持っていますか?そしてもしそうなら、どうですか?
次に、値をnullに設定するにはどうすればよいですか? 'myValue = null'を試してみると、「NULLを 'System.Data.SqlTypes.SqlBoolean'に変換できません」というコンパイル時のエラーが返されます。これはnullable型ではないためです。 –
うれしいことです。もう少し情報を追加して、私が参考にしている一連の記事へのリンクを追加しました。 –