SQL Server 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(三)
2007-11-11 10:05:23 来源:WEB开发网首先,在“Add New Item”对话框里的Templates列表中,选择Stored Procedure选项,然后在接近屏幕底部的“Name”文本框中为这个存储过程设置名称。图10中的结果显示了这个存储过程被命名为“usp_ReadTextFile”。点击“Add”按钮,Visual Studio 2005就会为这个存储过程添加一个新的类到你的项目中。图11中显示了自动生成的类文件的名称和你先前设置的存储过程名称一样,在这个自动生成的类文件中包含了所有必需的using语句以及构建存储过程的基本代码。默认情况下,类名称被设置为“StoredProcedures”并且usp_ReadTextFile方法的基本结构也已构建,附加在它之前的是前面提到过的[SqlProcedure]属性。当然,这些设置的最终结果还是取决于你。
(WINDOWS平台上强大的数据库平台) 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(三)(图一)" />
图11——自动生成的sql server(WINDOWS平台上强大的数据库平台)存储过程类
在你完成了存储过程的编码工作之后,你可以像生成其他任何C#项目一样来编译这个存储过程项目——选择Visual Studio的“Build”菜单中的“Build Solution”(图12)。
(WINDOWS平台上强大的数据库平台) 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(三)(图二)" />
图12——生成sql server(WINDOWS平台上强大的数据库平台) CLR存储过程
生成这个项目的结果是在本地机器上编译得到一个程序集。在这个范例中,这样的程序集名为usp_ReadTextFile.DLL。这个时候,你就可以部署这个项目了,方法是点击“Build”菜单中的“Deploy Solution”菜单项,这样,这个存储过程就被构建到sql server(WINDOWS平台上强大的数据库平台)系统中了。
(WINDOWS平台上强大的数据库平台) 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(三)(图三)" />
图13——部署存储过程DLL到sql server(WINDOWS平台上强大的数据库平台)中
当你部署项目的时候,Visual Studio会拷贝自动生成的程序集到相应的数据库中,这里的数据库就是你前面在“Connection”对话框中所选择的sql server(WINDOWS平台上强大的数据库平台)数据库。实际上,在后台,它还是先通过执行CREATE ASSEMBLY和CREATE PROCEDURE语句来拷贝usp_ReadTextFile.DLL程序集到sys.assemblies表中,然后使用这个程序集来创建usp_ReadTextFile存储过程。
(WINDOWS平台上强大的数据库平台) 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(三)(图四)" />
图14——部署中的状态
在Visual Studio IDE的输出窗口里显示了整个部署过程的即时状态。如果源代码做了任何修改,在将程序集部署到sql server(WINDOWS平台上强大的数据库平台)数据库之前Visual Studio会自动地进行重编译。如果部署成功,在Visual Studio的状态条上会显示“Deploy succeeded”消息。
在将CLR存储过程部署到sql server(WINDOWS平台上强大的数据库平台)之后,Visual Studio中集成的功能允许你在Visual Studio IDE中调试这个过程。在调试CLR存储过程之前,你得先打开“Server Explorer”,然后右击在项目刚刚创建的时候生成的Data Connection,在弹出的菜单中选择“Allow SQL/CLR Debugging option”。接下来,你可以在.NET源代码中设置断点并按F5或点击绿色的Run箭头图标来进行调试。针对于这个存储过程的测试脚本会运行并且整个存储过程的执行会如图15所示的那样在断点处停止。
(WINDOWS平台上强大的数据库平台) 2005与IBM DB2 v8.2之对比——Visual Studio和.NET开发人员的数据库平台(三)(图五)" />
图15——调试sql server(WINDOWS平台上强大的数据库平台) CLR存储过程
在调试器中,你可以像调试一般的Windows应用程序一样来显示和更改变量的值,并且可以在CLR和SQL代码之间单步执行。这种集成的紧密程度,也就是在SQL和.NET代码之间单步执行,在DB2 UDB 8.2平台上是没有的。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接