csc /t:library /out:testProcedure.dll testProcedure.cs
接着打开数据库test,在数据库里面的程序集右键菜单中点击“添加新的程序集”项,然后浏览刚刚编译好的testProcedure.dll程序集。
这样就添加了这个程序集,接着新建sql查询,在里面创建一个存储过程如下:
CREATE PROCEDURE [user].SelectAll
AS EXTERNAL NAME testProcedure.StoredProcedures.SelectAll
GO
执行上面的查询语句后,就在数据库中成功添加了一个CLR存储过程。注意上面的测试存储过程是没有参数的,
如果有的话,那么数据库中的存储过程原型必须和CLR语言中的原型一样。
推荐使用这个方法创建CLRC存储过程。
2. 使用VS来自动为sql创建存储过程。 编写一个调试脚本添加到项目里面,脚本可以只是简单执行编好的
存储过程。然后将上面的项目编译并生成然后部署即可,还可以启动调试来完成。VS会自动为数据库添加相应的存储过程。
不过第一种方法更加灵活和可靠。
另外使用第2种方法如果出现 错误:用户未能执行存储过程 sp_enable_sql_debug
这可能是由于:
连接问题。需要有一个到服务器的稳定连接。
在服务器上缺少必要的权限。若要在 SQL Server 2005 上调试,运行 Visual Studio 的帐户和用于连接 SQL Server 的帐户都必须是 sysadmin 角色的成员。用于连接 SQL Server 的帐户要么是 Windows 用户帐户(如果您正在使用 Windows 身份验证),要么是具有用户 ID 和密码的帐户(如果您使用 SQL 身份验证)。
也就是说那个test_user必须是sysadmin角色才行。
以上就是创建CLR存储过程的全部内容。