1
我在C#創建以下方法定義CLR存儲過程:的SQL Server 2016 CLR存儲過程可空出參數
public static void MyProcedure (SqlString path, SqlString fileName, out SqlBoolean? myValue)
但是當我嘗試在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]
我得到以下錯誤:
CREATE PROCEDURE for "MyProcedure" failed because T-SQL and CLR types for parameter "@myValue" do not match.
是否有任何可能的方式來創建存儲proced一個CLR有一個可空的參數?如果是這樣,怎麼樣?
那麼你如何去設置它的值爲null?如果我嘗試'myValue = null',我收到編譯時錯誤「無法將null轉換爲'System.Data.SqlTypes.SqlBoolean',因爲它是非空值類型」 –
很高興您的工作:-)。我再次更新以添加更多信息並鏈接到我正在處理的一系列文章,這可能會有所幫助。 –