浅析如何调试SQL CLR存储过程

本文笔者用简练的语言对SQL CLR存储过程的原理与方法对进行讲解,笔者列出了其中的注意事项。请大家仔细阅读。

舟曲网站建设公司创新互联,舟曲网站设计制作,有大型网站制作公司丰富经验。已为舟曲上千多家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的舟曲做网站的公司定做!

调试SQL CLR存储过程,在一个新的 SQL Server 项目中,建立一个到 AdventureWorks 示例数据库的连接。

使用下面第一个示例部分中的代码创建一个新的SQL CLR存储过程,并将其命名为“InsertCurrency.cs”。有关更多信息,请参见如何:使用 SQL Server 项目类型进行开发。

添加一个通过调用该SQL CLR存储过程来测试它的脚本。在“解决方案资源管理器”中,右击“TestScripts”目录,单击“添加测试脚本”,然后插入下面的第二个示例部分中的代码。以名称“InsertCurrency.sql”保存文件。右击该文件名,然后单击“设置为默认调试脚本”。

在 InsertCurrency.cs 中设置断点,然后在“调试”菜单上单击“启动”以对该项目进行编译、部署和单元测试。以黄色箭头表示的说明性指针在断点上显示时,说明正在调试存储过程。尝试不同的调试功能。

打开“局部变量”窗口,并在“调试”菜单上单击“单步执行”以单步执行SQL CLR存储过程中的一行。注意,“局部变量”窗口中的变量 @mynvarchar 的值已经更改,并且它的值现在显示为红色,表示它已经更改。有关更多信息,请参见 使用“局部变量”窗口。

注意 

服务器可能不会反映在调试器窗口中对变量值的更改。

打开“监视”窗口。在“文本编辑器”中,拖动 InsertCurrencyCommand 变量到“监视”窗口中的任意位置。

该变量随即添加到受监视的变量列表中。有关更多信息,请参见如何:使用调试器变量窗口。

注意   也可以在“监视”窗口中编辑变量的值。

在文本编辑器中,右击 InsertCurrencyCommand.ExecuteNonQuery 行并在快捷菜单上单击“插入断点”。

在“调试”菜单中单击“继续”,调试器将运行代码直到新的断点。

再次单击“继续”完成对存储过程的调试。

“输出”窗口会显示一条消息,表明已成功部署SQL CLR存储过程,并会显示执行 InsertCurrency.sql 文件中的命令的结果。

示例

用此代码替换SQL CLR存储过程模板。

 
 
 
  1. using System;  
  2. using System.Data;  
  3. using System.Data.Sql;  
  4. using System.Data.SqlServer;  
  5. using System.Data.SqlTypes;  
  6. public partial class StoredProcedures  
  7. {  
  8.     [SqlProcedure]  
  9.     public static void InsertCurrency(SqlString currencyCode,   
  10.      SqlString name)  
  11.     {  
  12.         using(SqlConnection conn = new SqlConnection
  13. ("context connection=true")) {  
  14.         SqlCommand cmd = new SqlCommand([your SQL statement], conn);  
  15.         }  
  16.         InsertCurrencyCommand.CommandText = "insert Sales.Currency" 
  17.                      + " (CurrencyCode, Name, ModifiedDate) values('"   
  18.                      + currencyCode.ToString() + "', '"   
  19.                      + name.ToString() + "', '"   
  20.                      + DateTime.Now.ToString() + "')";  
  21.         InsertCurrencyCommand.ExecuteNonQuery();  
  22.     }  
  23. }  

这是用于执行SQL CLR存储过程的测试脚本。

 
 
 
  1.  - Delete any row that might exist with a key value  
  2. - that matches the one we are going to insert  
  3. DELETE Sales.Curr  
  4. ency  
  5. WHERE CurrencyCode = 'eee' 
  6. EXEC InsertCurrency 'eee', 'MyCurr4' 
  7. SELECT * FROM Sales.Currency WHERE CurrencyCode = 'eee' 

【编辑推荐】

  1. 浅析C#数组操作方法
  2. C#数组操作全面分析
  3. C#数组和串操作经验总结
  4. 为你解疑:CLR是什么?
  5. 分析与对比CLR Via C#静态构造函数的性能

名称栏目:浅析如何调试SQL CLR存储过程
标题网址:http://www.shufengxianlan.com/qtweb/news15/267465.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联