将我的第一个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"。

将我的第一个SQLCLR存储过程部署到AmazonRDS SQL Server实例

在配置RDS实例时,您是否尝试过在AWS DB参数组中将clr enabled设置为1?(方法取自以下答案:AWS中的SQL Server CLR存储过程)。

此外,您的方法属性可能是错误的。我最近看到了另一个类似的问题,我们解决了它,但没有确切的确认是哪种变化组合最终起到了作用。但是,我认为[SqlProcedure]缺少括号,应该是[SqlProcedure()]

SqlProcedure属性的括号中添加后,首先尝试重新编译。如果不起作用,请尝试在AWS DB参数组中将clr enabled设置为1

此外,一个更好/更容易的测试是通过将Debug.Write更改为SqlContext.Pipe.Send来执行PRINT语句。