级别: 中级 Sonali Surange (ssurange@us.ibm.com), 开发人员, IBM
2006 年 1 月 12 日 IBM® 已经发布了针对 Visual Studio 2005 的 DB2® 工具,以便开发人员能够进行快速应用程序开发、数据库模式开发和调试,并且完成许多其他的新功能。这些功能使您能够构建针对 IBM® DB2 Universal Database™ (DB2 UDB) 系列数据库的应用程序,并且连一行代码都不需要编写,而使用设计器创建和更改复杂的数据库对象,以及为一系列 DB2 平台调试 SQL 过程。这种工具适用于所有 Visual Studio 2005 版本或者 Visual Studio 2005 team 版本。本文将概述 IBM 为 Visual Studio 2005 提供的最新功能。
针对 Visual Studio 2005 的 IBM 工具中的重要新增功能
Visual Studio 2005 的 IBM 工具中的新增功能使得利用 Microsoft® Visual Studio® 作为其集成开发环境的开发人员能够缩短开发时间和开发适用于整个 DB2 服务器系列的 .NET 应用程序。这些新增功能包括:
- 与 Microsoft Server Explorer 的无缝集成,其中 DB2 连接可以添加到 Microsoft Server Explorer。IBM DB2 .NET managed provider for .NET framework 2.0 可用于这种无缝集成。IBM Explorer 现已不再使用。
- 引入 IBM 设计器用于编写脚本和创建 DB2 数据库对象。本版新增功能还包括通过 IBM 设计器更改和复制数据库对象、定义和更改每个对象的角色和权限等。
- 针对 Visual Studio 2005 的 IBM 数据库插件现在可以单独安装使用。
功能集萃
以下是这款新工具的其中一些功能要点:
- 您可以构建针对 DB2 的 Windows 应用程序和 Web 站点,无需编写任何代码:
- 支持各种风格的 DB2(DB2 UDB for Linux®、UNIX® 以及 Windows®,DB2 UDB for iSeries™ 和 DB2 UDB for z/OS®)。
- 对应用程序开发支持联邦数据库和昵称。
- 支持筛选数据库对象,从而实现 iSeries 和 zSeries® 服务器的最佳性能。
- 缓存 Server Explorer 的 DB2 连接中对象的模式信息可在设计时提供更好的应用程序开发性能。
- IBM 工具中的一项最新功能是能够隐藏或显示 Server Explorer 中用于 DB2 连接的特定文件夹。
- 该款工具仍然支持在 IBM Message Pane 中显示 DB2 活动的详细信息。
- 这款新工具引进了一系列新的 IBM 设计器用于创建、更改和复制数据库对象:
- 所有 IBM 设计器仍然能够使用具有语法彩色显示和语句完成功能的智能多行编辑器。
- 您可以利用 IBM 设计器创建新的表、视图和过程。
- 具有利用 IBM 设计器更改现有的表、视图和过程的新功能。
- 具有创建和更改角色、为数据库对象分配权限的新功能。
- IBM 设计器使您能够复制表和过程。
- 该项最新工具为您提供了在 Linux®、UNIX® 以及 Windows 或者 zSeries 服务器上从 Server Explorer 无缝调试 SQL 过程的一种方法。现在,在调试时您可以使用新的 IBM Designer for Procedures,实现无缝调试体验。
- 具有用于为所有对象查看或者创建脚本的新的设计器。IBM Script Designer 提供以下功能:
- 能够更改和执行脚本
- 能够运行单个或多个 DDL/DML 语句,并在单个或多个网格中查看结果
- 能够利用脚本更改对象
- 您可以利用以下最新增强功能显示表和视图中的数据:
- 可以在检索数据的同时筛选数据列。
- 可以将数据另存为 XML 进行导入或导出,从而很容易地进行表或视图数据迁移。
- 执行过程和函数具有以下新的增强功能:
- 能够运行前期脚本和后期脚本。
- 可以保存 Visual Studio 会话的输入或输入输出参数值。
- 可以提交或者回滚事务。
- Server Explorer 的 DB2 连接中有一个用来查看结果集的新用户界面。它提供以下功能:
- 能够在 Server Explorer 中查看一个过程的单个或多个结果集
- 能够自动发现(可能时)或者手动定义或定制一个过程的结果集定义
- 能够设置首选项,从而在 Add 或 Modify 连接中始终发现或者始终手动定义结果集定义
- 您仍然支持通过 DB2 Projects 和 IBM Scripting 向导创建 DB2 脚本。
- DB2 Projects 不再支持使用调试支持功能。相反,在 Server Explorer 中,DB2 连接无缝地支持该项功能。

 |

|
下载
IBM Visual Studio Add-ins 可单独安装使用。
Server Explorer 集成
可以利用 Server Explorer 的 Add Connection 选项添加 DB2 连接。请按以下简单步骤设置 DB2 连接:
- 如果 Server Explorer 没有打开,请单击 View > Server Explorer。
- 从 Data Connections 节点,右击并选择 Add Connection。
- 选择 Data source,然后选择 IBM DB2。(您也可以选中 Always use this selection 复选框,以便在每次添加 DB2 连接时跳过该步骤。)单击 OK。
- 添加服务器名称、数据库名称、用户 ID 和键值。(也可以选择 Save password 从而使所有 Visual Studio 2005 会话记住该密码。选择性地单击 Test Connection。)单击 OK。数据库连接会被添加到 Server Explorer 中。
图 1. 添加连接
Server Explorer Add connection integration 中有几项可用功能。这几项功能是 IBM 工具所独有的,不能用于 Server Explorer 中的其他数据库:
- 添加新的连接之后,模式信息可以异步预先获取并加以缓存。这使得在设计应用程序或者使用 IBM 设计器及其智能编辑器时能够快速访问模式信息。预取的信息可以在 Output Window 的 IBM Message Pane 中看到。
- 添加连接时,还有几项新的定制功能可以使用:
- 客户曾经要求在重新打开 Visual Studio 实例时能够自动刷新连接。您可以在 Add Connection 或 Modify Connection 对话框中做这一选择。
- 客户不希望总是运行过程以查看结果集。您可以在 Add Connection 或 Modify Connection 对话框中,将首选项选择为始终手动指定结果集或者通过运行过程自动查看结果集。
- iSeries 和 zSeries 服务器上的 IBM 数据库可以包含大量数据。应用程序开发人员可能不会始终对所有默认数据库对象,例如表、视图、过程和函数等感兴趣,但只会对其中几项感兴趣。Add Connection 和 Modify Connection 对话框允许您选择感兴趣的文件夹。只有已选文件夹参与预取操作和模式缓存。该选项在开发人员使用该连接时提供改进的开发体验。
- 筛选模式和文件只需使用 LIKE 搜索。模式筛选器适用于所有文件夹。此外,现在在 Add Connection 或 Modify Connection 对话框中还支持文件夹级别的筛选器。筛选器值区分大小写。例如,添加模式筛选器值 “IBM” 将会得到所有以模式 “IBM” 开头的对象。
与较早的 Visual Studio 2003 支持版本相比,节点有一些变化:
- 始终要求填写服务器名称、端口、用户 ID、密码和数据库名称才能创建连接。典型情况下,Windows 中默认 DB2 安装的端口号是 50000。
- 同一用户只能添加一个到服务器和数据库的连接。如果您想对同一数据库和同一用户使用一个连接,但同时具有不同筛选选项或高级选项,则只需在 Add / Modify Connection 对话框中利用 Modify Connection 更改筛选选项或者任何自定义选项。
快速应用程序开发
利用 Visual Studio 2005 中引入的用于构建 Windows 应用程序和 Web 站点的范型,您可以无缝地开发针对 DB2 的应用程序。只需遵照以下步骤即可构建 Windows 应用程序:
- 添加 DB2 数据库连接。
- 利用 C# 或 VB.NET 创建 Windows 应用程序。
- 从最顶层的 “Data” 菜单,选择 Add New Data source。
- 向导允许您选择表、视图或者过程来创建数据源。
- 所选数据源可以被拖放到 Windows 窗体。
- 运行应用程序。
图 2. 应用程序开发
本系列后面的教程中将详细描述利用 IBM 工具构建 Windows 应用程序和 Web 站点的过程。
关键要点:
- 对于连接,可以从缓存中调用所筛选的对象。这提供了对远程服务器,如 iSeries 和 zSeries 等的最佳设计时体验。
- 通过指定其他模式和对象级筛选器,用于创建数据源的一列对象可以特别满足开发人员的要求。
- 当为过程创建数据源时,预定义结果集将被自动挑选出来。如果结果集没有被定义,就会被发现或者手动加以设置,这取决于用户的首选项。
IBM 设计器
IBM 工具的独特功能是支持 IBM 设计器,从而能够创建数据库对象。表、视图、过程都可以通过专门针对某项任务的 IBM 设计器加以创建。每种设计器允许创建索引、约束、键和触发器(如适用)。
在本版本中,已新增了更改现有数据库对象、为每个对象定义角色和每个角色的权限等功能。每个设计器均可设置有权限。此外,IBM 设计器还可以通过复制对象从而很容易地创建相似的对象。
IBM 设计器的关键要点是:
- 每个设计器均包含视图,这些视图能够完成与设计器相关的任务。普通视图可用于设计器上,从而提供相似的外观和感觉,并且易于使用。您可以利用 IBM 工具栏或者所使用的设计器的顶层菜单在视图之间切换。
- 每个设计器均包含属性部分,其中可以设置或者查看扩展属性。常用属性显示在每个设计器的主体部分。典型情况下,默认值已预先填写以方便使用,并且可以进行更改。
- 每个设计器使用智能多行编辑器,该编辑器使用 Server Explorer 中 DB2 连接的缓存连接信息来实现语句完成和智能感应功能。
- 具有显示、创建或更改设计器脚本的普通视图。
- 对于每一个设计器,标准 File > Save 图标或菜单可用于保存 IBM 设计器中的更改。当创建新的数据库对象或者更改现有对象时,该操作可以在数据库上运行脚本并创建或者更改对象。如果存在错误,就会显示一个指明故障的消息框,详细错误列于 Output Window 的 IBM Message 窗格中。
IBM Table Designer
创建新表
您可以通过使用 IBM Table Designer,或者使用表节点的上下文菜单选项 “Add New Table”,或者使用 “Database” 下的顶层菜单项 “Add New Table”,来创建新的表。通过单击工具栏或者利用 “IBM Table Designer” 顶层菜单下的菜单项,可以实现视图之间的切换。它提供以下视图:
- Columns 视图 – 允许您定义列及其数据类型。
- 列数据类型是根据过程的 DB2 平台预先填写的,以便于选择。
- 您可以在 Keys Properties 中设置扩展属性。这些属性包括设置每一列的主键值、标识符和默认值。
图 3. Columns 视图
图 4. Keys 视图
- Indexes 视图 – 允许创建 Columns 视图中定义的列的索引。
- Columns 视图中所定义的列可以被预先选择,以便允许进行进一步的索引定义。
- 您可以使用 Index Properties 用户界面来设置扩展属性。
-
Check constraints 视图 – 允许添加表及其列的检查约束。
- 可以使用 Check Constraints 用户界面来设置扩展属性。
-
Triggers 视图 – 允许向表添加触发器。
- 您可以在多行智能编辑器中定义触发器文本。
-
您可以在 Trigger Properties 中设置扩展属性(例如事件触发器信息)。
图 5. Triggers 视图
-
Privileges 视图 – 允许向用户添加角色和权限。
- 您可以从数据库中的现有用户进行查找和选择。
- 您可以进行授权或者从每一用户或组调用权限。
- 可以被授予或调用的权限列表被自动预先填写在您所使用的 DB2 服务器上,因此您可以从中选择一个有效值。
图 6. Privileges 视图
- Show script 视图 – 查看创建表的脚本。
图 7. Show script 视图
更改现有表
Server Explorer 的 DB2 连接中现有表的上下文菜单选项 “Open Definition”,或者 “Database” 下的顶层菜单项 “Open Definition”,允许您利用 Table Designer 更改表。此外,您仍然可以在单击 Save 之后利用已打开的 IBM Designer 创建表。设计器可以自动转为更改模式并允许您更改刚刚创建的对象。
用于更改表的 IBM Table Designer 提供与创建表时相同的视图。这些视图在上述章节中已作了描述。其中一些主要差别如下:
- 可以被更改的表的功能视每个 DB2 平台而有所不同。根据该表所属的连接的平台,各种视图中的功能可以自动启用或禁用。
- 在平台允许更改列数据类型的情况下,可用的数据类型预先填写有该平台的有效兼容数据类型,使类型选择更为容易。
- 可以在 Show script 视图中查看更改脚本。
复制现有表
Server Explorer 的 DB2 连接中现有表的上下文菜单选项 “Clone Definition” 允许您利用 Table Designer 来复制表。此外,您也可以使用的 “Database” 下的顶层菜单项 “Clone Definition” 来进行复制。
用于复制表的 IBM Table Designer 与用于创建表的设计器相同。其中一些重要差别是:
- 所有视图都预先填写有原始表的定义。
- 通过添加数字值,使之具有惟一的表名称。
显示表数据 - IBM DataView Designer
“Show Data” 可用作 Server Explorer 的 DB2 连接中现有表的上下文菜单选项,或用作 “Database” 下的顶层菜单项 “Show Data”。
DataView Designer 的主要功能是:
- 使您可以插入、更新、删除表行。注意,只能在具有主键的表上进行插入、更新和删除。
- 您可以利用 Filter Options 部分来选择所要显示的列、分类顺序和指定作为筛选标准的 SQL 语句。
- 其中一项主要功能是可以将数据以 XML 格式导入或导出表。这使得更易于将数据从一个数据库迁移到另一个数据库。
图 8. IBM DataView Designer
显示表脚本 - IBM Script Designer
“Show Script” 可作为 Server Explorer 的 DB2 连接中现有表的上下文菜单选项,或者作为 “Database” 下的顶层菜单项 “Show Script”。
用于生成表的脚本可以显示在脚本设计器中。该脚本包括已注释掉的撤销语句,用户可以取消对表的撤销。这样可以避免无意地撤销表。如果需要,还可以更改脚本。您可以通过执行工具栏或者顶层 “IBM DataView Designer” 菜单上的 Execute 菜单项进行更改。
IBM Script designer 的主要功能是:
- 能够执行脚本。始终提交脚本执行。
- 能够在网格中查看结果
- 能够通过修改脚本更改表。
图 9. IBM Script Designer
IBM View Designer
创建新视图
Tables 节点的上下文菜单选项 “Add New View” 或者 “Database” 下的顶层菜单项 “Add New View” 允许您利用 IBM View Designer 创建新的视图。通过单击工具栏或者利用顶层菜单下的菜单项 “IBM View Designer”,可以实现视图之间的切换。提供以下视图:
-
View 视图 – 允许定义视图。
这使您可以选中视图定义中提供的语法或测试执行 SQL 语句。在测试执行情况下,可以在网格中查看结果。注意,测试执行操作总是可以回滚。
图 10. IBM View Designer
- Triggers 视图 – 允许向视图添加触发器。这使您:
- 能够在多行智能编辑器中定义触发器文本。
- 能够在 Trigger properties 中设置扩展属性和事件触发器信息。
- Privileges 视图 – 允许向用户添加角色和权限。这使您:
- 能够查找和选择数据库中的现有用户。
- 能够授权或调用每一用户或组的权限。对于您所使用的 DB2 服务器,可以授予的权限是自动预先填写的,以便您可以从中选择一个有效值。
- Show script 视图 – 查看视图的创建脚本。
更改现有视图
Server Explorer 的 DB2 连接中现有视图的上下文菜单选项 “Open Definition” 或者 “Database” 下的顶层菜单项 “Open Definition” 允许您利用 View Designer 来更改视图。此外,您仍然可以在单击 Save 之后,利用已打开的 IBM Designer 来创建视图。设计器可以自动转为更改模式并允许您更改刚刚创建的对象。
用于更改视图的 IBM Table Designer 提供与创建视图时相同的视图。这些视图已在上述章节中作了描述。其中一些主要差别如下:
- 可以被更改的视图的功能视每个 DB2 平台而有所不同。根据该表所属的连接的平台,各种视图中的功能可以自动启用或禁用。
- 可以在 Show script 视图中查看更改脚本。
Show data 和 Show script 的功能与表中的 Show data 和 Show script 功能相似。
IBM Procedure Designer
创建新的过程
过程节点的上下文菜单选项 “Add New Procedure” 或者 “Database” 下的顶层菜单项 “Add New Procedure” 允许您利用 IBM Procedure Designer 创建新的表。通过单击工具栏或者利用顶层菜单下的菜单项 “IBM Procedure Designer”,可以实现视图之间的切换。提供以下视图:
-
Procedure 视图 – 允许定义过程参数和过程主体。
- 可以根据过程的 DB2 平台预先填写参数数据类型,以便于选择。
- 能够在 Procedure properties 中设置参数的扩展属性。这些属性包括参数方向、长度、比例和精确度。
- 提供返回结果的默认过程主体。注意,如果主体更改为返回一个以上的结果集,那么结果集的数量应该手动指定。这可以利用 Procedure Identification 部分中所提供的 “Number of Result Sets” 域来完成。
图 11. IBM Procedure Designer
-
Privileges 视图 – 允许向用户或组添加角色和权限。
- 您可以从数据库中的现有用户进行查找和选择。
- 您可以进行授权或者从每一用户或组调用权限。对于您所使用的 DB2 服务器,可以被授予的权限是自动预先填写的,以便您可以从中选择一个有效值。
更改现有过程
Server Explorer 的 DB2 连接中现有表的上下文菜单选项 “Open Definition” 或者 “Database” 下的顶层菜单项 “Open Definition” 允许您利用 Procedure Designer 来更改过程。此外,您仍然可以在单击 Save 之后利用打开的 IBM Designer 创建过程。设计器可以自动转为更改模式并允许您更改刚刚创建的对象。
用于更改表的 IBM Table Designer 提供另外两种视图:
- 可以被更改的表的功能视每个 DB2 平台而有所不同。根据该表所属的连接的平台,各种视图中的功能可以自动启用或禁用。
- Execute 视图 – 允许执行过程。
- Step into 视图 – 允许调试过程。
调试 SQL 过程
调试过程的一项新增功能是能够利用 IBM Procedure designer 进行调试。在本版本中,调试支持也被扩展到 zSeries 服务器。只需按以下步骤即可调试过程:
-
通过选择调试模式选项 ALLOW,创建需要进行调试的过程。如果最初创建的过程没有调试选项,可以更改为是在调试模式创建的。对于一个过程,更改操作相当于撤销并重新创建。
- 在 SQL 主体中添加断点。
- 要开始调试,请使用 IBM Procedure Designer 的顶层菜单工具栏 Step Into 或菜单项 Step Into。此外,您也可以使用 Server Explorer 连接下的过程的上下文菜单选项。
图 12. 调试 SQL 过程
调试支持的主要功能是:
- 能够对嵌入的 SQL 过程进行调试
- 能够查看变量值
- 能够更改变量值
复制现有过程
Server Explorer 的 DB2 连接中的现有表的上下文菜单选项 “Clone Definition” 允许您利用 Procedure Designer 复制过程。此外,您也可以使用 “Database” 下的顶层菜单项 “Clone Definition” 进行复制。
用于复制表的 IBM Procedure Designer 与 Create Procedure Designer 相同。其中一些重要差别是:
- 所有视图都预先填写有来自原始过程的值。
- 通过添加数字值,使之具有惟一的过程名。
执行过程 - IBM DataView Designer
“Execute” 可用作 Server Explorer 的 DB2 连接中现有表的上下文菜单选项,或用作 “Database” 下的顶层菜单项 “Execute”。IBM DataView Designer 可显示结果。
过程执行的新功能是:
- 能够选择提交或回滚。
- 能够定义前期脚本和后期脚本。注意,过程执行的前期脚本和后期脚本可以按一个事务来执行。
显示过程脚本 - IBM Script Designer
“Show Script” 可用作 Server Explorer 的 DB2 连接中现有表的上下文菜单选项,或用作 “Database” 下的顶层菜单项 “Show Script”。用于生成表的脚本可显示在脚本设计器中。该脚本包括已注释掉的撤销语句,用户可以取消对过程的撤销。
结果集定义
IBM 工具的一项独特功能是能够在 Server Explorer 过程节点的下方查看单个或多个过程结果集。结果集用于过程应用程序开发。在可能的情况下,结果集可以手动定义或者查找。典型情况下,不能自动查找具有输入或输入输出参数的过程结果集。利用提供输入参数值的结果集定义用户界面的查找选项可以定义结果集。此外,还可以手动定义结果集。
图 13. 结果集定义
函数
对于现有函数,能够执行、查看和删除脚本。
在本版本中,只能利用 DB2 项目的函数向导来创建函数。
结束语
IBM 现在已经在 Visual Studio 2005 工具中提供了许多最新支持功能。这些新功能包括与 Microsoft Server Explorer 无缝集成、引入一系列全新的 IBM 设计器、 利用 Server Explorer 和 IBM 设计器进行无缝调试,并引入了一些关键功能,例如权限的使用。
有关详细信息和可用性,请访问 DB2 UDB for .Net。
致谢
本版本的 Visual Studio 2005 Add-ins 由位于旧金山的 IBM 团队、硅谷实验室和多伦多实验室开发。
参考资料 学习
获得产品和技术
讨论
关于作者  | 
|  | Sonali Surange 是 IBM 旧金山实验室的一名咨询软件工程师,提供用于与 IBM Servers on Visual Studio .NET 无缝集成的工具。 |
对本文的评价
|