DB2 Development Add-In Technical Preview——概述

DB2 Development Add-In Technical Preview——概述

Abdul Al-Azzawe
DB2 开发工具架构师
IBM San Francisco Lab
2004 年 1 月

 
 内容 
简介
DB2 数据库工程
DB2 数据连接
DB2 CLR 过程
DB2 托管提供程序工具
可重用的数据适配器
IBM DB2 工具设置
结束语
致谢

简介

DB2® Development Add-In for Visual Studio .NET Technical Preview 是一项重大的成就,因为它是一个健壮的且功能丰富的产品。该产品是为提高 .NET 应用程序编程人员的生产率而提供的。所引入的新功能的数目以及用于发布它们的时间都是令人惊奇的!

除了扩展的服务器支持之外,该插件还具有四个主要的功能组。而每个功能组都值得单独作为一个产品发布:

  • 公共语言运行库(Common Language Runtime,CLR)过程开发
    对 CLR 过程的支持将 C# 和 VB.NET 的开发能力引入了 DB2 Universal Database 服务器。在许多 Microsoft 会议以及 VS.NET 2003 和 Windows® 2003 的推出活动中,都证实了这个关键的新功能。
  • 用于创建服务器对象的向导
    这组新的脚本编制向导大大简化了创建新服务器对象的工作。
  • 可重用的数据适配器
    可重用的数据适配器是个新的且功能强大的可用性工具,它将通过促进代码共享和重用来加速 ADO.NET 应用程序的开发。
  • Web 方法和 Web 服务的自动生成
    最后,对自动生成新的 Web 方法和 Web 服务的支持,使您可以在 Web 上部署 DB2 数据库逻辑和模式,无需写一行代码!

版本功能一瞥

使用 DB2 Development Add-In for Visual Studio .NET Technical Preview,您可以做以下新工作:

  • 利用服务器主机名/IP、端口和数据库名来发现并使用远程 DB2 数据连接。
  • 利用功能丰富的脚本编制向导创建新的表、视图、索引和触发器。
  • 在 SQL 编辑器之外扩展对 SQL 智能感应的支持,以便在向导和对话框中包含多行编辑控件。
  • 以读/写模式使用数据网格,为表和视图检索数据。
  • 访问表和视图的详细信息,包括列、索引和触发器。
  • 生成表、视图、函数和过程的创建脚本。
  • 使用 C# 和 VB.NET 开发并部署 DB2 CLR 过程。
  • 管理 CLR 程序集在本地和远程 DB2 for Windows 服务器上的部署。
  • 直接在数据连接中创建可重用的数据适配器,并将之与其他开发者、其他工程和窗体设计人员共享。
  • 发现或手工定义数据适配器结果集的形状。
  • 以读/写模式使用数据网格,预览数据适配器的结果。
  • 为数据适配器或其命令自动生成 Web 方法和 Web 服务。
  • 使用 DB2 工具设置的扩展集来定制您的插件。
  • 向 DB2 数据库脚本文件添加可折叠区域。

可用性

DB2 Development Add-In for Visual Studio .NET Technical Preview 目前还是处于预览阶段。它没有 被包含在 DB2 Universal Database V8.1.2 或 V8.1.3。

有关这个早期版本的更多信息,请访问我们的 http://www7b.software.ibm.com/developerworks/db2/downloads/dotnetbeta/ Web 页面。

支持平台

DB2 Development Add-In for Visual Studio .NET Technical Preview 扩展 DB2 服务器支持,以包括:

  • DB2 for z/OS® and OS/390® 版本 6、7 和 8
  • DB2 for iSeries® (AS/400®) 版本 5.1 和 5.2
  • DB2 for Linux,UNIX® 和 Windows V8.1 以及其后继版本

目前,并非所有的功能对各种 DB2 服务器都可用。表 1 列举了这些受限的功能:

表 1. 受限的功能

受限的功能DistributediSeriesz/OS V6Z/OS V7Z/OS V8
生成表/视图的创建脚本YesNoNoNoNo
创建标量函数YesYesNoYesYes
创建表函数YesNoNoNoNo
生成函数的创建脚本YesYesNoNoNo
生成 Web 服务YesNoNoNoNo
用于创建表的表空间YesNoYesYesYes

受限的功能DistributediSeriesz/OS V6Z/OS V7Z/OS V8
生成表/视图的创建脚本YesNoNoNoNo
创建标量函数YesYesNoYesYes
创建表函数YesNoNoNoNo
生成函数的创建脚本YesYesNoNoNo
生成 Web 服务YesNoNoNoNo
用于创建表的表空间YesNoYesYesYes

DB2 数据库工程

DB2 数据库工程在此版本中得到了增强。现在,工程树包含了表、索引、触发器和视图,以及过程、函数和脚本默认文件夹。DB2 数据库工程增加了以下新功能:

  • 新的脚本编制向导,用于创建表、视图、触发器和索引工程脚本项。
  • 新的 CLR 过程向导,用以生成 CLR 工程方法所必需的 DDL。
  • 可管理 CLR 工程程序集及其在本地或远程 DB2 服务器上的部署。
  • 使用可扩展的 ScriptOptions XML 标签的可折叠脚本区域。
  • 针对使用高级 z/OS 选项的多个数据连接,支持改进的多重设置。
  • 允许扩展 DB2 数据库工程的全自动支持,其中使用了 Visual Studio.NET 的标准可扩展性功能。

图 1. DB2 数据库工程
DB2 数据库工程

跟 Visual Studio.NET 中任何其他的全功能工程模板一样,DB2 数据库工程也支持工程间依赖性、构建顺序以及与源代码控制管理系统(如 Visual Source Safe 和 RationalClear Case)的集成。

请注意现在无论是在 IBM Projects 文件夹中,还是标准的 Visual Studio.NET 通用工程文件夹中,都可以访问到 DB2 数据库工程。

脚本编制向导

新的 DB2 数据库工程中一个极其强大的功能就是拥有一组功能丰富的脚本编制向导,它可以大大地简化 DB2 服务器对象的新建工作。除了通过包含新的可用性功能以增强现有的 SQL 过程和 SQL 函数向导之外,我们还添加了一组新的向导,包括表、视图、索引以及触发器向导。新的 CLR 向导将在下面的 DB2 CLR 过程小节中涉及。

智能的多行 SQL 编辑器

此 DB2 Development Add-In 的新版本值得夸耀的是拥有一个新的多行 SQL 编辑器,它支持 SQL 语法的彩色化显示(colorization)和智能感应(intellisense)。有了智能感应支持,就可以使用在 DB2 数据库工程和 IBM Explorer 的各个数据连接中定义的模式,以便快速查找给定模式的模式对象,或者查找给定表或视图的各个列,或者查找给定过程或函数的参数列表。

新编辑器的另一个重要特性就是内置的 SQL 分析器,它允许在可能的地方查找参数的数据类型。包括了位置参数标记以及以冒号这个特殊字符打头的实参。

在大多数 DB2 Development Add-In 向导和对话框中都嵌入了这个新编辑器。

图 2. 创建视图向导
创建视图向导

SQL 过程和函数向导

SQL 过程和函数向导通过包含智能的多行 SQL 编辑器而得到了增强,该编辑器用于定义这些例程必需的 SQL 语句。增强的功能包括以下方面:语法的彩色化显示、智能感应以及可自动检测例程参数及其类型的 SQL 分析器。该向导另一个有趣的增强功能就是,可以从现有的表和视图的列定义中导入额外的例程参数。

得到客户的反馈后,代码段向导步骤就转向第二个对话框,因而减少了创建新例程所必需的向导步骤。

表向导

表向导允许您快速定义新的 DB2 表,包括从最简单的表到包含了主键、惟一键、外键以及高级检查约束的表。表向导还允许用特殊的值(如默认值、基于公式的值或标识值)来定义列。

图 3. 创建表向导
创建表向导

该向导另一个极其强大的功能就是可从现有的表和视图中导入列定义,而这些表和视图是在 IBM Explorer 的各个数据连接中定义的。这就意味着您现在可以轻易地克隆其他表/视图的全部或部分定义,同时还包含了定义两个或多个表间的参照完整性所必需的列。

图 4. 导入列定义
导入列定义

表向导步骤包括:

  1. 标识——指定模式、表名、表空间和注释。
  2. 主键——为该表定义一个主键。主键是单列或多列的组合,其值惟一标识了表中的一行记录。主键所指的列不能包含空值。
  3. 惟一键——可定义一个或多个惟一键。惟一键受其任何两个值都不能相等的约束。惟一键所指的列不能包含空值。
  4. 外键——可为该表定一个或多个外键。外键是单列或多列的集合,其值必须至少匹配另一表中的一个主键值。
  5. 脚本选项——指定包含脚本段的文件,您需要将脚本段插入已生成的表脚本中。还须指定您希望生成的额外的 SQL 语句。

视图向导

视图向导简单却很强大,它允许您使用上面描述的智能多行 SQL 编辑器来定义 SQL 查询。而此查询是定义新视图所必需的。

图 5. 创建视图向导
创建视图向导

视图向导步骤包括:

  1. 标识——为您正在创建的视图指定模式、视图名和注释。
  2. 内容——指定 CREATE VIEW SQL 语句。您可以编辑 SQL 模板以创建自己的语句。
  3. 脚本选项——指定包含脚本段的文件,您需要将脚本段插入已生成的视图脚本中。还须指定您希望生成的额外的 SQL 语句。

索引向导

索引向导允许您为现有的表定义索引。该向导将自动检测表的定义,并且显示合适的列。您既可以创建普通索引,也可以创建惟一索引。 针对联邦数据源还支持惟一定义的索引,或称作别名。

图 6. 创建索引向导
创建索引向导

索引向导步骤包括:

  1. 标识——指定索引名、表名、注释以及索引选项。
  2. ——指定您希望定义为索引键一部分的一个或多个列。
  3. 脚本选项——指定包含脚本段的文件,您需要将脚本段插入已生成的索引脚本中。还须指定您希望生成的额外的 SQL 语句。

触发器向导

触发器向导极大地简化了创建表与视图的触发器这一有点复杂的工作。它将触发器的创建划分为一些更加可管理的步骤。触发器的 SQL 条件允许您定义条件,即 WHEN 子句;而触发器操作允许您定义激活触发器的操作。这两个步骤都要使用上面已详述的智能多行 SQL 编辑器。

图 7. 创建触发器向导
创建触发器向导

触发器向导步骤包括:

  1. 标识——指定触发器的源表或源视图,以及触发器名、模式和注释。
  2. 执行条件——指定执行触发器的时间和事件。
  3. SQL 条件——进一步指定能够激活触发器之前,表或视图的限定条件。
  4. 操作——指定触发器执行的操作。
  5. 脚本选项——指定包含脚本段的文件,您需要将脚本段插入已生成的触发器脚本中。还须指定您希望生成的额外的 SQL 语句。

属性和配置

DB2 数据库工程特有的一个关键功能就是对于多重配置的支持,这在 Visual Studio.NET 通用数据库工程中是没有的。它允许您为脚本编译指定不同的数据连接,并且还可以在活动配置中为工程添加和减少脚本项。该功能使您可以进行测试,以及获得 QA 和生产系统,而此生产系统可以是驻留在不同服务器上的不同数据库。

对于 z/OS 和 OS/390 SQL 过程,多重配置的支持还允许您为每个配置定义一组高级构建选项。

图 8. 为 z/OS 存储过程定义构建选项
为 z/OS 存储过程定义构建选项

DB2 数据连接

在此版本中,IBM Explorer 已得到了极大的增强。您现在可以

  • 创建新的数据库
  • 添加远程服务器的数据连接
  • 使用全功能向导以 ad hoc 方式创建新的数据库对象
  • 生成创建脚本
  • 生成 Web 方法和 Web 服务
  • 创建可重用的数据适配器

图 9. IBM Explorer
IBM Explorer

连接

IBM Explorer 的数据连接现在就称作 连接。添加/修改连接对话框可用于发现 DB2 服务器和 DB2 服务器数据库。您再也不必为远程数据库在本地编制目录了。因为同一个物理数据库可添加多个数据连接。这就要为多个连接指定一组不同的过滤器,或者使用不同的用户 ID 和密码来连接相同的数据库。此外,还可以在数据连接文件夹中创建新的本地 DB2 数据库。

图 10. 数据库连接属性
数据库连接属性

基于您反馈的信息,我们已创建了两个独立的连接设置:一个默认所有者和一个当前所有者。为新对象预先填充模式时,将在不同的向导中使用默认所有者。而插件将使用当前所有者发出 SET CURRENT SCHEMA 命令,或在对数据库执行任何脚本之前发送 SQL ID。

另一个增强的关键功能就是,可为每个连接指定高级 z/OS 构建选项和运行库选项。这些选项的默认值在 userOptions.xml 文件中已指定,但可使用下文将详述的 IBM DB2 工具设置对话框加以定制。SQL 过程向导将使用这些选项新建过程脚本。您也可以从集中管理的用户表中查找这些选项。

脚本编制向导

此版本的一个关键的新功能就是拥有一组功能丰富的脚本编制向导,它极大地简化了新数据库对象的创建工作。该工作是直接在 IBM Explorer 中以 ad hoc 方式进行的。除了不包含新的 DB2 工程选择页,这组向导与前面 DB2 数据库工程小节中所列的相同。您现在就可以向新的或现有的 DB2 数据库工程添加新脚本;或者对数据库直接执行脚本,而无需有一个 DB2 数据库工程。

表和视图

表和视图支持也得到了增强,可使用向导来创建新的表和视图。此外,您还可以为表创建索引和触发器,以及为视图创建触发器。当为指定的表或视图启动触发器和索引向导时,该表和视图的信息将被预先填入向导中。

图 11. 支持表的向导
支持表的向导

除了创建新对象,您还可以使用一个新的细节设计器访问表和视图的详细信息。这些详细信息包括列清单、索引和触发器信息。您还可以使用该设计器删除和创建新的索引和触发器。

图 12. 细节设计器
细节设计器

表和视图的数据预览功能也得到了增强:现在还可执行刷新操作,以及在满足条件的地方插入、更新和删除数据行。

另一个为用于 Linux、UNIX 和 Windows 的 DB2 数据连接而添加的功能就是,可在目录信息的基础上生成 CREATE DDL。该功能可以使用 db2look 实用程序来生成脚本。该脚本既可作为新的脚本项添加给新的或现有的 DB2 数据库工程,也可直接插入现有的 DB2 脚本文件。您还可以在 IBM Explorer 中直接拖放表和视图,以及将其放入 DB2 脚本文件。

过程和函数

过程和函数支持同样得到了增强。其中包括可使用向导创建新的 SQL 和 CLR 过程以及 SQL 函数。而为新对象生成的脚本既可以直接被执行,也可以添加到新的或现有的 DB2 数据库工程。

查看 SQL 过程和函数的源代码,以及执行任何语言的过程和函数,这两个功能在新版本中没有较大改动。

DB2 CLR 过程

此新版本中一个最令人激动的新功能就是对 CLR(公共语言运行库)过程的支持。您可以在类程序集中编写 C# 和 VB.NET 方法,然后将之作为 DB2 过程进行部署。DB2 CLR 过程让您可以选择 .NET 中的语言编写自己的过程。

虽然在 CLR 过程主体中 SQL 是可选的,但可以使用 DB2Context 对象对其中的 SQL 进行编码,用以创建新的 ADO.NET 命令。而该命令有预置的上下文连接对象。除了输入、输出和输入/输出参数,CLR 过程还能为客户程序返回零个或多个结果集。

DB2 类库

虽然使用 C# 和 VB.NET 工程文件夹中的标准类库模板就可以编写新的 CLR 方法,但是您也可以使用该文件夹中添加的 DB2 类库工程模板。使用 DB2 类库工程模板有以下优点:对 DB2 托管提供程序(IBM.Data.DB2)自动进行的工程引用,以及创建符合 DB2 CLR 过程必要的签名标准的基类和方法。

图 13. DB2 类库工程模板
DB2 类库工程模板

通过用于 C# 和 VB.NET 的新的 DB2 类工程项模板,您可以向工程添加额外的 CLR 方法和类。

清单 1. 以 C# 编写的 DB2 CLR 方法

using System;
using IBM.Data.DB2;

namespace DB2ClassLibrary1
{
	/// 
	/// Summary description for DB2Class1.
	/// This class and method can be used as the basis for a DB2 CLR procedure.
	/// For more information on creating and deploying DB2 CLR procedures visit:
	///	http://www.ibm.com/software/data/developer
	///
	/// 
	public class DB2Class1
	{

	  public static void DB2Procedure1(
		String		inParm1,
		ref String	inoutParm2,
		out String	outParm3)
	  {
		// Create new command object from connection context
		DB2Command myCommand = DB2Context.GetCommand();

		// TODO: Insert your code here

		outParm3 = null;
		// myCommand.CommandText = "SELECT FIRSTNME, MIDINIT, LASTNAME FROM EMPLOYEE";
		// DB2DataReader myReader = myCommand.ExecuteReader();
		// myReader.Close();
	 }
   }
}

清单 2. 以 VB.NET 编写的 DB2 CLR 方法示例

Imports System
Imports IBM.Data.DB2

Namespace DB2ClassLibrary1

 'Summary description for DB2Class1.
 ' This class and method can be used as the basis for a DB2 CLR procedure.
 ' For more information on creating and deploying DB2 CLR procedures visit:
 '	http://www.ibm.com/software/data/developer
 '
 Public Class DB2Class1

     Public Shared Sub DB2Procedure1( _
         ByVal inParm1 As String, _
         ByRef inoutParm2 As String, _
         ByRef outParm3 As String)

         ' Create new command object from connection context
         Dim myCommand As DB2Command
         myCommand = DB2Context.GetCommand()

         ' TODO: Insert your code here

         outParm3 = Nothing
         ' myCommand.CommandText = "SELECT FIRSTNME, MIDINIT, LASTNAME FROM EMPLOYEE"
         ' Dim myReader As DB2DataReader
         ' myReader = myCommand.ExecuteReader()
         ' myReader.Close()
     End Sub

  End Class

End Namespace

DB2 CLR 过程向导

一旦编写了一个或多个 CLR 方法,并希望将之部署到 DB2 for Windows 服务器上,您就可以利用新的 DB2 CLR 过程向导来自动检测解决方案中所有的 CLR 工程,以及所选工程中的所有候选的 CLR 方法。

图 14. DB2 CLR 过程向导
DB2 CLR 过程向导

CLR 向导可从以下位置启动:给 DB2 数据库工程添加一个新项的对话框,IBM Explorer 中 DB2 数据连接的工程文件夹,以及 Tools->IBM DB2 Tools->DB2 CLR Procedure Wizard 菜单。

虽然会对过程名、参数名、参数数据类型和过程选项执行默认映射,但您也可以通过向导修改这些映射。其中包括指定从每个过程返回的结果集的数目。

当您单击向导上的 Finish 时,根据适当的设置和创建语句,以及每个选中的 CLR 方法可选的授权执行语句,就可以生成 DB2 脚本文件了。

清单 3. DB2 CLR 过程的 DDL 示例

-- 
     
     
@
-- 
     
     
@
-- Drop the procedure if one already exists
DROP  SPECIFIC PROCEDURE DB2PROCEDURE1
@
-- 
     
     
-- 
     
     
@
-- Create procedure
CREATE PROCEDURE DB2PROCEDURE1(
	IN	INPARM1		VARCHAR ( 254 ),
	INOUT	INOUTPARM2		VARCHAR ( 254 ),
	OUT	OUTPARM3		VARCHAR ( 254 ))
  SPECIFIC DB2PROCEDURE1
  LANGUAGE JAVA
  PARAMETER STYLE JAVA
  NO DBINFO
  FENCED
  CONTAINS SQL
  DYNAMIC RESULT SETS 0
  PROGRAM TYPE SUB
  EXTERNAL NAME '"[!DB2CLRAssembly DB2ClassLibrary4.dll]":DB2Class1!DB2Procedure1'
-- 
     
     
@
-- Grant access privilages to procedure
GRANT EXECUTE ON  SPECIFIC PROCEDURE DB2PROCEDURE1 TO PUBLIC
@

注意:

  • 在 Technical Preview 版本中,过程语言和参数式样都是依照 Java 生成的。而在产品的最终版本中,将变为 DOTNET。
  • 要为 DB2 引擎将 Java 过程识别为 .NET CLR 过程,您必须在 DB2 for Windows 服务器系统中,定义一个系统级的环境变量:JAVA_IS_DOTNET=1。

DB2 数据库工程程序集

要使 CLR 过程能够工作,就必须在 DB2 服务器上为其编目,并将其程序集传送到 sqllib//function 路径下 DB2 服务器文件系统所在的位置。为了完成该传送,将通过 DB2 CLR 过程向导,在 DB2 数据库工程中自动注册 CLR 程序集。您可以通过 DB2 工程程序集对话框来管理已注册的程序集。而该对话框可从 Assemblies... 工程弹出式菜单中启动。

图 15. CLR 程序集
CLR 程序集

不管其中定义了多少个 CLR 过程,程序集都只需在工程中注册一次。可使用对话框中的 install 操作手工安装程序集;或者在修改程序集(如重构)时,通过 DB2 数据库工程构建操作来执行自动安装。

因为在解决方案中指明了多重设置,并且可根据活动的程序集,在不同的文件路径下,使用 Visual Studio .NET 编译器创建程序集,所以您必须通过 DB2 工程程序集对话框,为程序集显式地指明客户程序文件路径。

CLR 过程脚本区域

该插件版本引入了可折叠的脚本区域的概念,此区域可由 ScriptOptions XML 标签指定。DB2 CLR 过程向导为一个或多个选中的 CLR 方法生成适当的脚本。而每个 CLR 过程 CREAT DDL 都在一个 CLR 脚本区域中进行打包。

图 16
图 16

有时候,CLR 方法签名可能会被改变,并且结束与已生成的 CLR 过程 CREATE DLL 的同步。因此,需要更新 DB2 脚本来匹配新的 CLR 方法签名。避免手工修改已生成的 CREATE DDL 是十分明智的;因而,您必须通过弹出式菜单,为折叠的 CLR 区域重启 DB2 CLR 过程向导。通过这个简版的向导,您可以更新 DB2 映射信息,并且为已更新的方法重新生成 CREATE DDL。

DB2 托管提供程序工具

DB2 Development Add-In for Visual Studio .NET Technical Preview了 DB2 托管提供程序工具箱的对象工具,包括了更直观的连接串编辑器,更高级的数据适配器配置向导(可定义结果的形态并支持过程命令),以及增强的命令编辑器(包含了带有智能感应支持的智能多行 SQL 编辑器的全部功能,智能感应支持在前面已详述)。

DB2 连接工具

新的 DB2 连接串编辑器允许您从现有的 DB2 数据连接中进行选择,而这些连接都是在 IBM Explorer 中定义的。您将注意到默认情况下,连接密码不再是可见的或持久的。这一改变与 ADO.NET 连接的安全指导原则一致。当然,您也可以使用 persist security info=true 连接串选项使密码变为持久的。

图 17. 连接串编辑器
连接串编辑器

DB2 数据适配器工具

新的 DB2 数据适配器的配置向导与 SQL 分析器紧密集成在一起,用以更好地检测列和参数数据类型。四个数据适配器命令都支持 SQL 语句和过程。适配器可自动检测过程参数,并允许查找或手工定义过程的结果集。

图 18. 数据适配器向导
数据适配器向导

生成数据集 支持也得到了增强,可基于数据适配器定义的形状来生成数据集定义。并且还包括为存储过程 select 命令生成数据集的功能。

图 19. 生成数据集支持
生成数据集支持

数据适配器 预览数据 的新功能允许输入必要的输入参数值,然后在可更新的数据网格中显示结果。在数据适配器命令的基础上,可使用 update、delete 和 insert 命令向 DB2 服务器传播设计时进行的更新。

DB2 命令工具

新的 DB2 命令编辑器包括了对文本命令和过程命令的支持。

使用文本命令时,该编辑器将利用包含了 SQL 分析器和智能感应支持的智能多行 SQL 编辑器。分析器用以检测数据列名和类型,以及 SQL 语句参数名和类型;而智能感应支持用于模式对象以及表和视图的列。

图 20. DB2 命令编辑器
DB2 命令编辑器

使用过程命令时,编辑器将基于所选模式以及过程参数列表,自动检索 IBM Explorer 中定义的过程。

图 21. 数据表映射
数据表映射

使用数据适配器的配置向导时,您可以找到命令结果集的设置形状,或者使用导入列对话框来手工定义一个或多个结果集的形状。该对话框可从现有的表和视图中导入列。

可重用的数据适配器

DB2 Development Add-In 的新版本中,一个最好的可用性功能就是引入了可重用的数据适配器文件夹。该文件夹位于 IBM Explorer 的单个数据连接下。可跨多个 win/web 窗体以及跨多个工程使用这些数据适配器,并且可在多个用户间共享。

图 22. 可重用的数据适配器
可重用的数据适配器

可重用的数据适配器的关键功能包括:

  • 在 winform 和 webform 设计器上的拖放功能。
  • 可生成数据集类,用以包含于现有的 CLR 工程。
  • 可使用数据窗体向导,以便利用自动生成的数据适配器数据集类,向工程快速添加功能丰富的数据窗体。
  • 在读/写模式下,可直接访问数据适配器数据的设计时预览。
  • 可为数据适配器或命令生成 Web 方法和 Web 服务。
  • 可向/从文件系统(如 XML 文件)导入/导出数据适配器。

您可以使用多种方法创建新的可重用的数据适配器,包括使用 DB2 数据适配器的配置向导。该向导还能用于更改数据适配器及其命令的定义,以及数据适配器结果集的形状。

添加表和视图作为可重用的数据适配器

您可以为数据连接文件夹中所列的表或视图快速创建数据适配器。这可通过访问针对表或视图的 New->Data Adapter 弹出式菜单操作来完成。

在表或视图定义的基础上,可自动生成适当的 insert、update 和 delete 命令语句。

添加过程和函数作为可重用的数据适配器

您可以为数据连接文件夹中所列的过程或函数快速创建数据适配器。这可通过访问针对过程或函数的 New->Data Adapter 弹出式菜单操作来完成。

默认情况下,不能自动生成 insert、update 和 delete 命令。但是,您可以使用数据适配器的配置向导或命令编辑器来定义这些额外的命令。

添加组件托盘的数据适配器

正如您可以拖放数据连接数据适配器以及将其放置在窗体设计器上一样,您也可以选择现有的窗体数据适配器,并且单击 Add to connection 操作,以便将数据适配器定义添加到适当的 IBM Explorer 数据连接。

生成 Web 方法和 Web 服务

可重用的数据适配器的一个极其强大的功能就是,可为所有的数据适配器命令或单个命令生成 IIS Web 方法。也就是指可生成适当的 C# 和 VB.NET 类文件,并将它们添加到选中的 CLR Web 工程中。

图 23. 生成 Web 方法
生成 Web 方法

您还可以选择为数据适配器或其单个命令,生成并部署 DB2 Web 服务。DB2 嵌入式应用程序服务器将驻留这些 Web 服务。为了部署 Web 服务,还将生成自动的 WSDL 和测试 Web 客户程序。

导入和导出

%APPDATA%//IBM//vsnet//userCache.xml 下的 IBM Explorer 数据连接用户缓存器一样,可重用的数据适配器也是持久的。您可以使用 Export 菜单操作,直接从数据适配器文件夹导出一个或多个数据适配器定义(如 XML 文件)至文件系统。您还可以使用 Import 菜单操作将这些导出的数据适配器定义导入到数据连接中。

此导入/导出功能的一个有趣的用法就是,可在源代码控制管理系统中登记/注销这些数据适配器的定义。导出的文件还可被团队中其他的开发者共享。

IBM DB2 工具设置

可通过 Tools->Options->IBM DB2 Tools Visual Studio .NET 菜单访问 IBM DB2 工具选项。通过标准的 Visual Studio .NET 选项对话框,您还可以定制 DB2 Development Add-In 的各种功能。

图 24. DB2 工具设置
DB2 工具设置

或者,您可以通过访问 %APPDATA%//IBM//vsnet//userOptions.xml 文件来手工修改这些选项。

IBM DB2 工具选项分为了几类,例如 Code Generation,Data Access,Editor,Project 和 z/OS 选项。查看 Options 对话框或查阅 userOptions.xml 文件都可得到选项的完整列表及其描述。

结束语

DB2 Development Add-In for Visual Studio .NET Stinger Technical Preview 有望成为令人激动的功能最丰富的版本。它显示了 DB2 对于 .NET 平台和 Visual Studio .NET IDE 的承诺。该版本是针对应用程序开发者、数据库开发者、DBA 以及架构师推出的。

现在,通过功能丰富且易于使用的脚本编制向导,您可以开发 SQL 和 CLR 过程、SQL 函数、表、视图、索引以及触发器。还可以在 DB2 数据库工程中构建这些对象,或者直接从 IBM Explorer 的数据连接中构建。使用新的可重用的数据适配器,您还可以快速开发数据绑定的 win/web 窗体、Web 方法和 Web 服务。有许多新功能能让您的 DB2 应用程序开发令人愉快且十分高效。

致谢

若没有许多具才干的成员的贡献,就不可能有 DB2 Development Add-In。这些人来自于三个 IBM 实验室:特别感谢旧金山实验室的 Kreg、Addi、Sonali、Eric、Kevin、Vasantha、Ajay、Kalpana、Veera 和 Alex;特别感谢硅谷实验室的 Connie、Nancy、Tammi、Chenhong 和 Michael;特别感谢多伦多实验室的 Brent、Nancy、Kelvin、Michael、Andrew、Gustavo、Leon、Shili 和 Gene。

到页首

关于作者

Photo: Abdul Al-Azzawe Abdul Al-Azzawe 是 Visual Studio .NET 上 DB2 工具的架构师。他于 1990 年加入 IBM 并在多伦多实验室工作了十年。期间,他是特别针对 Windows 平台的 DB2 引擎开发团队的成员。2000 年 3 月,Abdul 加入了 IBM 硅谷实验室,参与设计集成了 SQL 调试器的 DB2 版本、DB2 开发中心,以及 DB2 Development Add-Ins for Visual Studio 6.0。2002 年 5 月,Abdul 又加入了 IBM 旧金山开发团队,开始构建与 Visual Studio .NET 的集成,这是他在 IBM 职业生涯中最感自豪的成就之一。
 

IBM、DB2 和 DB2 Universal Database 是 IBM 公司在美国和/或其他国家或地区的商标或注册商标。

Windows 是 Microsoft 公司在美国和/或其他国家或地区的注册商标。

Java 和所有基于 Java 的商标和徽标是 Sun Microsystems 公司在美国和/或其他国家或地区的商标或注册商标。

UNIX 是 The Open Group 在美国和其它国家或地区的注册商标。

其他公司、产品和服务名称可能是其他公司的商标或服务标记。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值