2015-12-22 30 views
1

在我目前的諮詢任務中,他們讓我使用CLR Sprocs,這非常棒(以前的某些約定並不適合虛假原因)。將我的第一個SQLCLR存儲過程部署到Amazon RDS SQL Server實例

我跟所有的步驟:

https://msdn.microsoft.com/en-us/library/5czye81z(v=vs.90).aspx

但做在Visual Studio中的一個簡單的存儲過程:

using System.Diagnostics; 
public partial class StoredProcedures 
{ 
    [SqlProcedure] 
    public static void TestCLR_001() 
    { 
     Debug.Write("Hello World"); 
    } 
} 

和我的管理運行:

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'clr enabled', 1; 
GO 
RECONFIGURE; 
GO 

但是,當我構建解決方案或部署解決方案沒有任何錯誤,但是他們從未將其發佈到SQL Se rver。即

use pls; 

Exec TestCLR_001; 

不起作用。

消息2812,級別16,狀態62,3號線
未能找到存儲過程 'TestCLR_001'。

回答

0

就配置RDS實例而言,您是否嘗試過在AWS DB參數組中設置clr enabled1? (採取以下回答的方法:SQL Server CLR stored procedures in AWS)。

此外,您的方法屬性可能是錯誤的。我最近看到了另外一個類似的問題,我們已經確定了這個問題,但沒有確切證實哪些變化組合最終能夠實現。但是,我認爲[SqlProcedure]缺少括號,應該是[SqlProcedure()]

首先嚐試在SqlProcedure屬性中添加括號後重新編譯。如果這不起作用,請嘗試在AWS DB參數組中設置clr enabled1

另外,一個更好/更簡單的測試將是通過將Debug.Write更改爲SqlContext.Pipe.Send來讓它做PRINT聲明。

相關問題