图12——生成SQL Server CLR存储过程
生成这个项目的结果是在本地机器上编译得到一个程序集。在这个范例中,这样的程序集名为usp_ReadTextFile.DLL。这个时候,你就可以部署这个项目了,方法是点击“Build”菜单中的“Deploy Solution”菜单项,这样,这个存储过程就被构建到SQL Server系统中了。

图13——部署存储过程DLL到SQL Server中
当你部署项目的时候,Visual Studio会拷贝自动生成的程序集到相应的数据库中,这里的数据库就是你前面在“Connection”对话框中所选择的SQL Server数据库。实际上,在后台,它还是先通过执行CREATE ASSEMBLY和CREATE PROCEDURE语句来拷贝usp_ReadTextFile.DLL程序集到sys.assemblies表中,然后使用这个程序集来创建usp_ReadTextFile存储过程。

图14——部署中的状态
在Visual Studio IDE的输出窗口里显示了整个部署过程的即时状态。如果源代码做了任何修改,在将程序集部署到SQL Server数据库之前Visual Studio会自动地进行重编译。如果部署成功,在Visual Studio的状态条上会显示“Deploy succeeded”消息。
在将CLR存储过程部署到SQL Server之后,Visual Studio中集成的功能允许你在Visual Studio IDE中调试这个过程。在调试CLR存储过程之前,你得先打开“Server Explorer”,然后右击在项目刚刚创建的时候生成的Data Connection,在弹出的菜单中选择“Allow SQL/CLR Debugging option”。接下来,你可以在.NET源代码中设置断点并按F5或点击绿色的Run箭头图标来进行调试。针对于这个存储过程的测试脚本会运行并且整个存储过程的执行会如图15所示的那样在断点处停止。

图15——调试SQL Server CLR存储过程
在调试器中,你可以像调试一般的Windows应用程序一样来显示和更改变量的值,并且可以在CLR和SQL代码之间单步执行。这种集成的紧密程度,也就是在SQL和.NET代码之间单步执行,在DB2 UDB 8.2平台上是没有的。