将我的第一个SQLCLR存储过程部署到AmazonRDS SQL Server实例
本文关键字:AmazonRDS SQL Server 实例 部署 我的 第一个 SQLCLR 存储过程 | 更新日期: 2023-09-27 18:27:55
在我目前的咨询任务中,他们允许我使用CLR Sprocs,这很好(过去的一些约定并不是出于虚假原因)。
我遵循了以下所有步骤:
https://msdn.microsoft.com/en-us/library/5czye81z(v=vs.90).aspx
但在Visual Studio中制作了一个简单的Sproc:
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 Server。即
use pls;
Exec TestCLR_001;
不起作用。
消息2812,级别16,状态62,第3行
找不到存储过程"TestCLR_001"。
在配置RDS实例时,您是否尝试过在AWS DB参数组中将clr enabled
设置为1
?(方法取自以下答案:AWS中的SQL Server CLR存储过程)。
此外,您的方法属性可能是错误的。我最近看到了另一个类似的问题,我们解决了它,但没有确切的确认是哪种变化组合最终起到了作用。但是,我认为[SqlProcedure]
缺少括号,应该是[SqlProcedure()]
。
在SqlProcedure
属性的括号中添加后,首先尝试重新编译。如果不起作用,请尝试在AWS DB参数组中将clr enabled
设置为1
。
此外,一个更好/更容易的测试是通过将Debug.Write
更改为SqlContext.Pipe.Send
来执行PRINT
语句。