在此,我们创建一个存储过程,内容如上文程序代码列表 11-2 的定义。整个项目的画面至此
通过添加新项目对话框选择创建存储过程的模板
程序代码中所设置的StoredProcedure名称,在部署
后将会在SQL Server Management内找到
在各对象前可以加上 System.Data.Sql 命名空间下所提供的一组 Attribute 来告知该函数的用途,同时可以通过该 Attribute 的 name 属性(Property)来告知该函数或类型创建到 SQL Server 内对象的命名。通常若不指定名称,就沿用原 .NET 函数的名称当作数据库对象的名称。
Attribute 设置的范例如下:
<System.Data.Sql.SqlProcedure(name:="WriteHashedPassword")>
编译无误后,接着通过 Visual Studio 2005 提供的“部署(Deploy)”功能,将你所写好的程序部署到SQL Server 2005,快捷选项
通过 Visual Studio 2005 的“部署”选项将相关对象注册到 SQL Server 2005 内
部署完你的程序对象后,打开SQL Server Management Studio,在“对象资源管理器”窗口选择刚刚 Visual Studio 2005 所连接的数据库AdventureWorks,你可发现在“程序集(Assemblies)”这个目录底下多了一个节点YukonCLR。
中“可编程性(Programmability)”-“存储过程(Stored Procedures)”节点下,同时可以看到 Visual Studio 2005 遵循我们通过 SqlProcedure Attribute 告知的属性,将该 WriteHashedPassword 函数注册成存储过程。
在 Management Studio 的“对象资源管理器”窗口查看部署到 SQL Server 2005 内的对象
11.2.3 通过T-SQL手动将该程序集放入到SQL Server
通过 T-SQL 语法亦可将该程序集放入到 SQL Server 2005,这时可以使用 SQL Server Management Studio 操作画面,通过主菜单“文件”-“新建”-“项目”选项打开一个新的项目后,类型为“SQL Server 脚本”,在下方的“名称”字段定义项目名称后,通过“浏览”选择项目存放的文件路径。
进入SQL Server Management Studio后,在“解决方案资源管理器”窗口内的方案上点选右键新建项目,新建一个空的 T-SQL 查询文件
你也可以通过主菜单“视图”-“模板资源管理器”选项,从“模板资源管理器”中选择想要完成的工作,让你不至于从完全空白的环境开始编写 T-SQL。图11-11为 SQL Server Management Studio 的T-SQL 编写环境,我们可以手动将该组件注册到 SQL Server 2005,部署的 T-SQL 范例程序代码将在下一节介绍。
新建项目
一切部署完毕后,若执行结果不如你的预期,这时可以通过 SQL Server 2005 与 Visual Studio 2005 的协作,完成程序代码调试的操作。
Management Studio 提供的 T-SQL 编写与管理环境
11.2.4 调试
在任何平台与开发环境中,调试都是必要的一环。而 Visual Studio 2005 与 SQL Server 2005 也提供了集成的调试环境。不管你是通过 Tabular Data Stream(TDS)或是 HTTP/SOAP 协议与 SQL Server 2005 沟通,还是通过 T-SQL 或 .NET 程序语言调用 SQL Server 2005 的对象,都可以直接进入集成的调试环境。
在新建“SQL Server Project”项目时,Visual Studio 2005 会自动在项目之下创建一个 TestScripts 子目录,其内放置 Test.sql 文件,你可以在该文件中编写 T-SQL 语法,调用先前用 .NET 写成的 SQL 对象,以此启动调试的机制。
Test.sql 文件内已经预先提供了调用各种 SQL Server 对象的语法范例,你可以将批注去除掉,修改成调用你先前编写的对象。接着在需要调试的 .NET 程序代码上设置断点,通过主菜单“调试”-“开始调试”选项或 F5 快捷键就可以开始调试。这时 Visual Studio 2005 会自动附加调试环境到 SQL Server 应用程序(sqlserver.exe),并帮你执行 Test.sql 内的 T-SQL 语法,以打开该 .NET 所编写的对象,当执行到断点所在的程序代码时,就进入到单步调试的模式。
若上述步骤有问题,你仍可以通过 Visual Studio 2005 主菜单“调试”-“附加到进程(Attach to Process)”选项打开的“附加到进程”对话框
手动 Attach SqlServer.exe 程序,通过在 SqlServer 内执行我们自行编写的 .NET 对象,进入到单步调试的环境
如图11-12 附加完 SqlServer.exe 程序后,再通过“SQL Server Management Studio”执行 T-SQL 对该 .NET 对象的调用,依然可以执行到程序代码断点的位置,进入单步调试的模式。
集成开发环境就介绍到此,我们接着来看通过 .NET 程序语言如何建立 SQL Server 内的五种数据库对象。