IBM Database Add-Ins for Visual Studio 2005

发行说明:修订包 2

© Copyright International Business Machines Corporation 2006, 2007. All rights reserved.

IBM® Database Add-Ins for Visual Studio 2005 修订包 2 包括对 DB2® z/OS 版版本 9.1 的支持、两个新的函数设计器和对应用程序调试的支持。

IBM Database Add-Ins for Visual Studio 2005 修订包 2 支持 IBM DB2 Data Provider for .NET Framework 2.0。

必备软件

IBM Database Add-Ins for Visual Studio 2005 修订包 2 的必备软件包括:

IBM Database Add-Ins for Visual Studio 2005 修订包 2 中主要的新功能

通过将 Microsoft® Visual Studio 用作集成开发环境,IBM Database Add-Ins for Visual Studio 2005 修订包 2 中的新功能使开发者能够减少开发时间,并为整个 DB2 服务器系列开发 .NET 应用程序。以下列表总结了新功能:

IBM Database Add-Ins for Visual Studio 2005 支持下列 DB2 数据库服务器:

问题和局限性

IBM Database Add-Ins for Visual Studio 2005 修订包 2 包括下列类别的问题和局限性:

   一般问题
   辅助功能选项
   所有设计器
   触发器
   IBM 过程设计器
   SQL 过程运行
   CLR 过程
   IBM XSR 设计器
   DB2 XML 设计器
   IBM XML 模式映射设计器
   IBM Web Service 函数设计器
   Windows 应用程序开发
   Web 应用程序开发
   DB2 数据库项目
   DB2 z/OS 版版本 9
   Visual Studio 查询构建器
   从 Visual Studio 2003 迁移至 Visual Studio 2005

一般问题

数据连接错误
问题:如果在安装 DB2 Linux 版、UNIX 版和 Windows 版版本 9.1 之后安装 Visual Studio 2005,则 IBM DB2 Data Provider for .NET Framework 2.0 不会在“全局组合件高速缓存”中注册。尝试使用 IBM DB2 Data Provider for .NET Framework 2.0 数据源添加数据连接时,“添加连接”窗口中将出现错误。
变通方法:运行命令以在“全局组合件高速缓存”中注册 IBM DB2 Data Provider for .NET Framework 2.0。
  1. 打开 DB2 命令窗口。单击开始 > 程序 > IBM DB2 > 命令行工具 > 命令窗口
  2. 在 DB2 命令窗口中的提示符处,输入以下命令:
       db2lswtch.exe -promote
    如果安装了 DB2 的多个副本,则仅从缺省 DB2 副本运行此命令。
iSeries 和 zSeries 服务器上的连接性能
问题:所有数据库服务器类型的数据连接的当前超时持续时间为 30 秒。对于 iSeries 和 zSeries 服务器来说,此设置太低。
变通方法:要在连接至 iSeries 或 zSeries 服务器时提高性能,将超时持续时间增大到 300 秒或更大。
  1. 工具菜单上,选择选项
  2. 在“选项”窗口的列表中,单击 IBM DB2 工具
  3. 在右边的数据库访问类别中,增大超时选项的值。
缺少数据连接信息
问题:如果在创建数据连接时未保存密码,则在 Visual Studio 2005 的另一个会话中修改数据连接时可能会缺少连接信息。
  1. 在“服务器资源管理器”中,右键单击数据连接节点,然后在快捷菜单上选择添加连接
  2. 在“添加连接”窗口中,指定连接信息,但不要选中保存我的密码复选框。
  3. 在退出并重新启动 Visual Studio 之后,当数据连接在“服务器资源管理器”中折叠时,右键单击数据连接,然后在快捷菜单上选择修改连接
在“修改连接”窗口中,可能缺少在添加数据连接时指定的信息。
变通方法:在打开“修改连接”窗口之前,在“服务器资源管理器”中展开数据连接。

辅助功能选项

访问键不起作用
问题:下列控件的访问键不起作用。
   “选择 XML 模式源”窗口:
      所有者
      XML 模式名称
   “为 XML 模式选择源”窗口:
      所有者
      XML 模式名称
变通方法:使用 Tab 键和方向键浏览窗口中的控件。
“DB2 XML 设计器”中缺少访问键
问题:“DB2 XML 设计器”中的下列控件没有访问键:
   “文本视图”选项卡
   “网格视图”选项卡
   “样本 XML”选项卡
   “高级选项”部分
变通方法:使用 Tab 键和方向键浏览该窗口中的控件。
“IBM XML 模式映射设计器”中的快捷键
问题:帮助中未描述“IBM XML 模式映射设计器”的快捷键。
变通方法:在设计器的“带注释的 XML 模式”视图的“映射编辑器”部分中使用下列快捷键:
键盘命令 它执行的操作
Ctrl+T 将焦点移至源 XML 模式窗格中的根级别节点。使用方向键浏览 XML 模式中的节点。
Ctrl+G
  • 如果焦点位于源 XML 模式窗格中,则将焦点移至映射编辑器中的第一个目标表并选择该表。
  • 如果焦点位于映射编辑器中,则将焦点移至映射编辑器中的下一个目标表并选择该表。
Ctrl+J
  • 如果在映射编辑器中选择了表,则选择该表的第一个映射链接。
  • 如果在映射编辑器中选择了映射链接,则选择同一个表的下一个映射链接。

要使用键盘来添加映射链接:
  1. 如果焦点位于表中,则按 Ctrl+T 以将焦点移至源 XML 模式窗格中的根级别节点。
  2. 使用方向键将焦点移至 XML 模式中作为新映射链接的源节点的节点。
  3. 按菜单键以显示快捷菜单,按下箭头键以选择添加映射链接命令,然后按 Enter 键。
  4. 按 Ctrl+G 以将焦点移至映射编辑器中的第一个表,然后重复按 Ctrl+G 以将焦点移至包含目标列的表。
  5. 显示快捷菜单,选择添加映射链接,然后按右箭头键以显示子菜单。重复按下箭头键,直到选中列表中的目标列为止,然后按 Enter 键。
    如果您看不到完整的列名,则按左箭头键以向右滚动列表项文本。

要使用键盘指定映射链接的内容处理规范化属性的值:

  1. 在设计器的“带注释的 XML 模式”视图的映射编辑器部分中选择映射链接。
  2. 按 Tab 键以移至该视图的属性部分。
  3. 重复按下箭头键以浏览至内容处理规范化属性。
  4. 按 Tab 键以移至属性的值单元格。
  5. 按 Alt+下箭头键以显示该单元格中的列表,按下箭头键以移至要选择的属性值,然后按 Enter 键。

所有设计器

标识区分大小写
问题:不支持包含特殊字符和区分大小写的字符的 SQL 标识,这些字符必须用单引号引起来。
变通方法:指定不包含特殊字符且不区分大小写的标识。
关闭时多次提示保存
问题:在设计器中添加数据库对象或 SQL 过程,但在关闭设计器之前未保存项时,如果对“关闭时保存”提示回答,则将出现第二个消息框,要求您确认是否保存。
在每个 Visual Studio 会话中,只有关闭设计器时未保存的第一个数据库对象才会出现一次此问题。
变通方法:没有变通方法;此问题当前具有局限性。

触发器

删除表和触发器(仅适用于 Linux、UNIX 和 Windows 服务器)
问题:删除表时,不会删除与该表关联的触发器。
即使删除了表,您可能仍希望使用 SQL 过程中与该表关联的触发器。可以在 DB2 控制中心(工具 > IBM DB2 工具 > DB2 控制中心)中看到与已删除的表关联的触发器。
变通方法:如果要删除与即将删除的表关联的触发器,则在删除该表之前删除触发器。
  1. 在“服务器资源管理器”的数据连接中,右键单击要删除的表,然后在快捷菜单上选择打开定义
  2. 如果表定义已在“IBM 表设计器”中打开,则单击“IBM 表设计器”工具栏上的触发器
  3. 在“触发器”视图的触发器列表中选择要删除的每个触发器,然后单击删除触发器
  4. 保存表,然后关闭“IBM 表设计器”。
触发器行变量属性
问题:在“IBM 表设计器”的“触发器”视图中为触发器定义新的行变量属性后,对该行变量指定的值不会在设计器的各个实例间持久。
变通方法:没有变通方法;此问题当前具有局限性。

IBM 过程设计器

将调试方式设置为 ALLOW
问题:仅当数据库位于 DB2 UDB 服务器 Linux 版、UNIX 版和 Windows 版版本 8 上时,此问题才适用。
在“过程”页上,如果在创建或修改 SQL 过程的定义时将调试方式选项设置为 ALLOW,则下次打开 SQL 过程定义时,该选项的值将还原为 DISALLOW。
变通方法:在打开和保存过程定义期间的任何时候将调试方式选项重设为 ALLOW。
超负荷过程中缺少参数
问题:在具有多个过程定义的超负荷过程中,某些过程参数未显示在“服务器资源管理器”的树中一次或多次出现的过程下面。
在 DB2 iSeries 版服务器上,当超负荷过程的每个定义具有不同的特定名称时,将出现此问题。
变通方法:没有变通方法;此问题具有局限性。
超负荷过程的脚本重复
问题:在具有多个过程定义的超负荷过程中,显示在“显示脚本”页上的所有过程定义的 SQL 代码都相同。
此问题出现在 DB2 iSeries 版服务器上。
变通方法:没有变通方法;此问题具有局限性。

SQL 过程运行

刷新结果集列
问题:如果刷新结果集中的列,则会出现错误。
  1. 在“服务器资源管理器”中的数据连接下,展开过程文件夹。
  2. 展开过程节点,展开该节点的结果集节点,然后展开结果集。
  3. 右键单击结果集中的一列,然后在快捷菜单上选择刷新
发生以下错误:获取结果集对象时发生错误。
变通方法
调试会话中的光标移动
问题:调试 SQL 过程时,如果该过程中有多个变量声明,则在某些情况下必须多次单击单步跳入单步跳过以转至下一行。
变通方法:单击次数必须等于行中的变量声明数。例如,对于以下行,必须单击两次:
   DECLARE v_dept, v_actdept CHAR(3)
而对于以下行,必须单击三次:
   DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2)

CLR 过程

在 DB2 版本 8 服务器中运行从 .NET Framework 2.0 部署的 CLR 过程
问题:构建 CLR 过程,并将它从 Visual Studio 2005 .NET Framework V2.0 部署到 DB2 版本 8 服务器后尝试运行该过程时,“IBM 输出消息窗格”中会显示以下错误消息:
   装入组合件“<项目配置 dll 文件的完整路径>”失败。
变通方法:在 DB2 版本 8 服务器上执行下列步骤:
  1. 安装 Microsoft .NET Framework 2.0(如果尚未安装的话)。单击此链接以转至 Microsoft Web 站点上的下载页面。
  2. 在 Windows 资源管理器中,浏览至 \windows\assembly 目录。例如,C:\WINDOWS\assemblyC:\WINNT\assembly
  3. \assembly 目录中,找到 IBM.Data.DB2 组合件并查看该组合件的版本信息。如果未列示版本 8.1.2.1 的组合件,则执行下列步骤:
    1. 在 Windows 资源管理器中打开另一个实例并浏览至 <install_dir>\SQLLIB\bin\netf11,其中 install_dir 是 DB2 版本 8 的安装目录。
    2. \netf11 目录中,将 IBM.Data.DB2.dll 文件拖动到 Windows 资源管理器的第一个实例中的 \windows\assembly 目录下。
      注意:不能复制 .dll 文件并将它粘贴到 \assembly 目录中。
  4. 启动 Visual Studio 2005,打开包含 CLR 组合件的 DB2 项目并构建项目。

IBM XSR 设计器

以颚化音(~)开头的 XML 模式名称
问题:如果 XSR 名称以颚化音(~)字符开头并且该名称未用引号引起来,则不能从“XML 模式存储库”(XSR)中删除 XML 模式。
使用“IBM XSR 设计器”注册 XML 模式时,可以接受缺省 XSR 名称或指定新名称。如果指定以颚化音开头的 XSR 名称,则可以成功地注册 XML 模式。但是,如果未用双引号将 XSR 名称引起来,则不能从“XML 模式存储库”中删除已注册的 XML 模式。
在“服务器资源管理器”中,如果选择已注册 XML 模式的快捷菜单上的删除命令,则会出现错误情况。
变通方法:如果使用以颚化音(~)字符开头的 XSR 名称来注册 XML 模式,则用双引号将 XSR 名称引起来。
“生成样本”命令
问题:“帮助”中未描述“服务器资源管理器”的 XML 模式快捷菜单上的生成样本命令。
可以为“XML 模式存储库”中注册的 XML 模式生成样本 XML。如果要开发用于处理数据库表中的数据的 Windows 或 Web 应用程序,则样本 XML 可以提供关于该表中 XML 数据列的内容的信息。
要生成 XML 模式的样本 XML:
  1. 在“服务器资源管理器”的数据连接中,右键单击“XML 模式存储库”中的 XML 模式,然后在快捷菜单上选择生成样本
    将生成样本 XML 并显示在 XML 编辑器中。
  2. 可选:复制样本 XML 并将其粘贴在您的应用程序中。

DB2 XML 设计器

命令按钮不可视
问题:在某些语言版本中,可能无法完全看到打开文件确定取消帮助命令按钮。
  1. 在“服务器资源管理器”的数据连接中,右键单击包含一个或多个 XML 数据类型的列并且填充了数据的表,然后在快捷菜单上选择显示数据
  2. 在“IBM 数据设计器”的结果数据部分中,单击包含 XML 数据的单元格,然后在下拉菜单上选择 XML 设计器
    在某些语言版本的“DB2 XML 设计器”中,可能只能看到打开文件确定取消帮助按钮的上部分。
变通方法:要完全看到打开文件确定取消帮助按钮,减小字体大小。
  1. 关闭“DB2 XML 设计器”。
  2. 工具菜单上,选择选项
  3. 在“选项”窗口中,单击列表中的 IBM DB2 工具,然后向下滚动到字体大小选项。
  4. 将字体大小更改为一个较小的数字;例如,7。
命令按钮不可视
问题:如果退出 Visual Studio 时未关闭“DB2 XML 设计器”,则启动下一个 Visual Studio 会话时,“DB2 XML 设计器”将打开,但不能完全看到打开文件确定取消帮助命令按钮。
变通方法:在退出 Visual Studio 之前关闭“DB2 XML 设计器”。

IBM XML 模式映射设计器

已删除的映射链接保留在 XML 模式源中
问题:从设计器的“带注释的 XML 模式”视图中删除映射链接或具有映射链接的目标表时,不会从 XML 模式源文档中删除该映射链接。
  1. 在设计器的“带注释的 XML 模式”视图的映射编辑器部分中,添加一个或多个目标表,然后为每个表添加一个或多个映射链接。
  2. 在映射编辑器中右键单击,在快捷菜单上选择查看源,然后在子菜单上选择使用文本编辑器
  3. 在文本编辑器中查看映射链接,然后关闭文本编辑器。
  4. 从映射编辑器中删除映射链接或具有映射链接的表。
    该映射链接或该表及其相关联的映射链接将不再显示在映射编辑器。
  5. 关闭“IBM XML 模式映射设计器”。保存并注册带注释的 XML 模式。
  6. 在“服务器资源管理器”中,右键单击带注释的 XML 模式,然后在快捷菜单上选择查看
  7. 在“XML 设计器”中右键单击,然后在快捷菜单上选择查看代码
  8. 查看映射链接,您将注意到已删除的映射链接或与已删除的表关联的映射链接仍在 XML 源文档中。
变通方法:如果要删除映射链接或具有映射链接的表,则在关闭“IBM XML 模式映射设计器”时不要保存带注释的 XML 模式,然后重新启动。
列名被截断
问题:在设计器中使用键盘来添加映射链接时,列名和数据类型在“添加映射链接”子菜单的列表中可能向右对齐。列名和数据类型向右对齐使得列名的左边看起来像是被截断了。此问题只出现在某些计算机上。
变通方法:使用左箭头键向左滚动并使列名文本向右移动。
窗格标题标签未本地化
问题:所有语言版本的 Source XML schema 窗格(位于设计器的“带注释的 XML 模式”视图中)的标题标签都显示为英语。
变通方法:窗格的本地化字符串显示在“工具提示”中。要显示“工具提示”,将指针停顿在窗格标题区域中。
查找 XML 节点、表和列
问题:“帮助”中未描述在设计器的“带注释的 XML 模式”视图中查找 XML 节点以及在“发现关系”窗口中查找 XML 节点、表和列的过程。
可以在设计器的源 XML 模式窗格中或“发现关系”窗口的列表中查找 XML 节点。还可以在“关系”窗口的目标列表中查找表或列。
要查找 XML 节点:
  1. 在“带注释的 XML 模式”视图的源 XML 模式窗格中右键单击任何节点,或者在“发现关系”窗口的列表中右键单击任何节点,然后在快捷菜单上单击查找
  2. 在“发现”窗口中,指定要查找的 XML 节点的名称,然后单击查找下一个
要查找表或列:
  1. 在“发现关系”窗口中,右键单击目标列表中的任何表或列,然后在快捷菜单上单击查找
  2. 在“发现”窗口中,指定要查找的表或列的名称,然后单击查找下一个

IBM Web Service 函数设计器

复杂类型
问题:“IBM Web Service 函数设计器”中不支持复杂类型。
变通方法:没有变通方法;此问题当前具有局限性。

Windows 应用程序开发

在“IBM 过程设计器”中更改对 SQL 过程指定的特定名称
问题:在“IBM 过程设计器”中定义新的 SQL 过程时,设计器将自动把输入的过程名称的值指定给特定名称。如果您更改该特定名称以便它与过程名称不同,则不能通过将 SQL 过程拖动到“数据集设计器”来创建数据源。
变通方法:如果打算使用 SQL 过程在 Windows 应用程序中创建数据源,则不要更改在设计器中指定的特定名称。或者,如果更改该特定名称以便它与过程名称不同,则使用“数据源”向导为该过程创建数据源。

Web 应用程序开发

数据类型为 LONG VARCHAR 的表列
问题:如果创建 Web 应用程序并尝试引用数据类型为 LONG VARCHAR 的数据库表列,则会出现以下错误:TYPENAME LONG VARCHAR 未知
变通方法:将该列的数据类型更改为 VARCHAR,或者删除该列。
超负荷过程
问题:Web 项目只运行超负荷过程的第一个过程。
  1. 创建两个具有相同名称的过程;一个过程没有参数,而另一个过程有一个参数。
  2. 创建 Web 项目。
  3. 将 SQL 数据源拖动到该项目并配置该数据源。
  4. 在“数据源配置”向导中,选择列表中一个版本的超负荷过程,然后单击测试查询
  5. 在测试运行后,选择列表中另一个版本的超负荷过程,然后单击测试查询
在这两个测试中,只有第一个版本的过程会运行。
变通方法:没有变通方法;此问题具有局限性。
调试 SQL 过程
问题:如果要用 C# 或 Visual Basic 开发使用 DB2 服务器的 ASP.NET 应用程序,则在调试 Web 应用程序时,不能调试从该应用程序调用的 SQL 过程。
变通方法:没有变通方法;此问题具有局限性。

DB2 数据库项目

缺省脚本
问题:在“服务器资源管理器”中为 DB2 数据库项目创建的缺省过程脚本和缺省函数脚本只能在 DB2 Linux 版、UNIX 版和 Windows 版服务器上正常工作。
变通方法:对于 DB2 通用数据库 iSeries 版服务器和 DB2 通用数据库 z/OS 版服务器,编辑缺省脚本并添加必需的代码以使这些脚本正常工作。

DB2 z/OS 版版本 9 服务器

XML 模式对象
问题:在“XSR 存储库”中注册 XML 模式时,XML 模式对象不支持视图定义打开定义快捷菜单命令。
变通方法:没有变通方法;此问题当前具有局限性。
DECFLOAT 数据类型
问题:在下列位置中不支持使用 DECFLOAT 数据类型:
变通方法:没有变通方法;此问题当前具有局限性。
VARBINARY 数据类型
问题:不能在 Windows 应用程序或 Web 应用程序中将包含一个或多个 VARBINARY 数据列的表用作数据源。
运行该 Windows 应用程序时会抛出错误。
运行该 Web 应用程序时,不会显示 VARBINARY 列。
变通方法:没有变通方法;此问题当前具有局限性。
XML 数据类型
问题:如果 SQL 过程或 CLR 过程包含具有 XML 数据类型的参数,则不能创建该过程。
变通方法:没有变通方法;此问题当前具有局限性。
表的数据源
问题:如果数据库表包含一个或多个 XML 数据类型的列,则不能为 Windows 应用程序中的这种表创建数据源。也不能为 Web 应用程序中的这种表创建 SQL 数据源。
变通方法:没有变通方法;此问题当前具有局限性。
本机 SQL 过程
问题:“服务器资源管理器”中的本机 SQL 过程不支持以下功能:
变通方法:没有变通方法;此问题当前具有局限性。
将参数添加至现有本机 SQL 过程
问题:不能将参数添加至现有本机 SQL 过程。
  1. 在“服务器资源管理器”的数据连接中,右键单击过程,然后在快捷菜单上选择使用设计器添加新的 SQL 过程
  2. 在“IBM 过程设计器”中,保存具有缺省值的过程(包括过程类型 NATIVE 和没有任何参数),然后关闭该设计器。
  3. 在“服务器资源管理器”中,右键单击添加的新过程,然后在快捷菜单上选择打开定义
  4. 在设计器中,添加一个具有缺省值的参数,然后保存过程。
“IBM 输出消息窗格”中将显示以下消息:
   发生了错误: ERROR [42601] [IBM][DB2] SQL0104N  异常标记...
变通方法:在创建本机过程时,定义该过程的参数。
创建本机 SQL 过程脚本
问题:在 DB2 数据库项目中,不能通过使用扩展名为 .db2 的脚本来创建本机 SQL 过程。
  1. 在“解决方案资源管理器”中,右键单击脚本文件夹,在快捷菜单上选择添加,然后在子菜单上选择新项
  2. 在“添加新项”窗口中,首先在类别列表中选择脚本并在模板框中选择脚本,然后在名称字段中输入脚本的名称。
    请注意,脚本的扩展名为 .db2。
  3. 单击添加
  4. 在“解决方案资源管理器”中,右键单击添加的脚本,然后在快捷菜单上选择属性
  5. 请注意,“属性页”窗口中没有可用来设置过程类型的属性。
变通方法:通过使用扩展名为 .db2sp 的脚本来创建本机 SQL 过程。
  1. 在“解决方案资源管理器”中,右键单击脚本文件夹,在快捷菜单上选择添加,然后在子菜单上选择新项
  2. 在“添加新项”窗口中,首先在类别列表中选择过程并在模板框中选择 SQL 过程脚本,然后在名称字段中输入脚本的名称。
    请注意,脚本的扩展名为 .db2sp。
  3. 单击添加
  4. 在“解决方案资源管理器”中,右键单击添加的脚本,然后在快捷菜单上选择属性
  5. 在“属性页”窗口中,向下滚动到过程类型属性,然后将该属性的值更改为 NATIVE
本机 SQL 过程的版本
问题:不能添加新版本的本机 SQL 过程。
  1. 在“服务器资源管理器”的数据连接中,右键单击过程,然后在快捷菜单上选择使用设计器添加新的 SQL 过程
  2. 在“IBM 过程设计器”中,保存具有缺省值的过程(包括过程类型 NATIVE),然后关闭该设计器。
  3. 在“服务器资源管理器”中,右键单击添加的新过程,然后在快捷菜单上选择添加新版本
  4. 在设计器中,保存具有缺省值的新版本的过程。
“IBM 输出消息窗格”中将显示以下消息:
   发生了错误: ERROR [42601] [IBM][DB2] SQL0104N  异常标记...
变通方法:没有变通方法;此问题当前具有局限性。
运行 SQL 过程的程序包变体
问题:“运行 DB2 过程或函数”和“运行选项”帮助主题描述“运行选项”窗口中的集合标识列表。“帮助”主题表明您可以选择集合标识来指示要运行的 SQL 过程的程序包变体。
但“运行选项”窗口不显示集合标识列表。
变通方法:没有变通方法;此问题当前具有局限性。不能运行 SQL 过程的程序包变体。
高级 SQL 生成选项不能用于配置 Web 站点应用程序中的数据源
问题:正在为 ASP.NET Web 站点配置数据源时,如果要从表配置 SELECT 语句,则高级 SQL 生成选项不可用。
  1. 为数据库添加数据连接。
  2. 创建 ASP.NET Web 站点。
  3. 对 .aspx 文件显示“设计器”视图。
  4. SqlDataSource 元素添加至设计器表单。
  5. 在显示的菜单上选择配置数据源
  6. 完成“配置数据源”向导的页面上的所有操作,然后在“配置 Select 语句”页面上执行下列操作:
    1. 选择选择表或视图中的列选项。
    2. 名称列表中选择表。
    3. 列表中,选中所有主键列的复选框。
    4. 单击高级
“高级 SQL 生成选项”窗口中的复选框不可用。
变通方法:没有变通方法;此问题当前具有局限性。

Visual Studio 查询构建器

添加多个表
问题:将多个表添加至“查询构建器”中的“表”窗格会导致显示错误消息。
  1. 在“服务器资源管理器”中,右键单击数据连接,然后在快捷菜单上选择新建查询
  2. 在“查询构建器”的“添加表”窗口中,使用 Ctrl 或 Shift 键选择两个或多个表,然后单击添加
消息框中将显示以下错误情况:
   从数据库中获取对象时发生错误。
如果添加一个表,然后重新打开“添加表”窗口并添加另一个表,也会显示该错误消息。
变通方法:该错误情况不影响添加表。单击确定以使消息框的每个实例消失并继续在“查询构建器”中工作。
表名区分大小写
问题:“查询构建器”不能对名称区分大小写的表运行查询。
  1. 在“服务器资源管理器”中,右键单击数据连接,然后在快捷菜单上选择新建查询
  2. 在“查询构建器”的“添加表”窗口中,选择其名称包含小写字母的表。
  3. 在“查询构建器”的“表”窗格中,选择表中的一列。
  4. 在“查询构建器”中右键单击,然后在快捷菜单上选择执行 SQL
消息框中将显示以下错误:
SQL 执行错误。
 
已执行的 SQL 语句:SELECT <列名> FROM <模式名>.<表名>
错误源:IBM.Data.DB2
错误消息:错误 [42704] [IBM][DB2/NT] SQL0204N “<模式名>.<表名>”是未定义的名称。
SQLSTATE=42704

变通方法:不要使用“查询构建器”对名称区分大小写的表构建查询。
验证 SQL 语法命令
问题:如果数据连接是 DB2,则验证 SQL 语法会导致发生错误。
  1. 在“服务器资源管理器”中,右键单击数据连接,然后在快捷菜单上选择新建查询
  2. 在“查询构建器”的“添加表”窗口中,选择一个表。
  3. 在“查询构建器”中右键单击,然后在快捷菜单上选择验证 SQL 语法
消息框中将显示以下错误:
此提供程序不支持该命令。
变通方法:没有变通方法;此问题具有局限性。Microsoft 已声明非 SQL 服务器提供程序不支持验证 SQL 语法功能。
数据连接快捷菜单
问题:当“查询构建器”打开时,“服务器资源管理器”中数据连接的快捷菜单显示未定义的子菜单命令。
  1. 在“服务器资源管理器”中,右键单击数据连接,然后在快捷菜单上选择新建查询
  2. 在“查询构建器”的“添加表”窗口中,单击取消
  3. 在“服务器资源管理器”中,右键单击数据连接,然后在快捷菜单上选择更改视图
    更改视图子菜单将显示名为 Undefined 的命令。
无论何时以何种方式打开“查询构建器”,都会出现这种情况。
变通方法:关闭“查询构建器”。数据连接快捷菜单将不再显示更改视图命令。
为 Web 站点应用程序中的数据源配置生成不正确的 SQL
问题:正在为 ASP.NET Web 站点配置数据源时,如果要生成 SQL 语句,则“查询构建器”将生成不正确的 DB2 SQL 语句。
  1. 为数据库添加数据连接。
  2. 创建 ASP.NET Web 站点。
  3. 对 .aspx 文件显示“设计器”视图。
  4. SqlDataSource 元素添加至设计器表单。
  5. 在显示的菜单上选择配置数据源
  6. 完成“配置数据源”向导的页面上的所有操作。在“配置 Select 语句”页面上,选择指定定制 SQL 语句或存储过程选项,然后单击下一步
  7. 在“定义定制语句或存储过程”页上,单击查询构建器
  8. 在“查询构建器”中,从数据连接中添加表,然后选中某列的复选框。
生成的 SQL 语句为:
   SELECT <列名>
   FROM <模式名>."<模式名>.<表名>"

正确的 SQL 语句应该为:
   SELECT <列名>
   FROM <模式名>.<表名>

例如,生成的 SQL 语句为:
   SELECT NAME
   FROM BAKER."BAKER.CUSTOMER"

正确的 SQL 语句应该为:
   SELECT NAME
   FROM BAKER.CUSTOMER
变通方法:在打开“配置数据源”向导之前,在“查询构建器”中生成 SQL 语句。对上面描述的步骤进行下列更改:
  1. SqlDataSource 元素添加至设计器表单,然后执行下列步骤:
    1. 在“服务器资源管理器”中,右键单击数据连接,然后在快捷菜单上选择新建查询
    2. 在“查询构建器”中,创建 SQL 语句,然后将该语句复制至剪贴板。
  2. 在“定义定制语句或存储过程”页上,将复制的 SQL 语句粘贴到 SQL 语句框中,然后单击下一步
  3. 跳过此步骤;不再需要该步骤。
高级 SQL 生成选项不能用于配置 Web 站点应用程序中的数据源(仅适用于 iSeries 服务器)
问题:仅当数据库位于 iSeries 服务器上时,此问题才适用。
正在为 ASP.NET Web 站点配置数据源时,如果要从没有索引的表配置 SELECT 语句,则高级 SQL 生成选项不可用。
  1. 为数据库添加数据连接。
  2. 创建 ASP.NET Web 站点。
  3. 对 .aspx 文件显示“设计器”视图。
  4. SqlDataSource 元素添加至设计器表单。
  5. 在显示的菜单上选择配置数据源
  6. 完成“配置数据源”向导的页面上的所有操作,然后在“配置 Select 语句”页面上执行下列操作:
    1. 选择选择表或视图中的列选项。
    2. 名称列表中,选择没有索引的表。
    3. 列表中,选中所有主键列的复选框。
    4. 单击高级
“高级 SQL 生成选项”窗口中的复选框不可用。
变通方法:在配置数据源之前,为要在数据源配置的 SELECT 语句中使用的表定义索引。

从 Visual Studio 2003 迁移至 Visual Studio 2005

数据适配器配置向导许可证
问题:将在 Visual Studio 2003 中开发的 Windows 应用程序迁移至 Visual Studio 2005 之后,您将看到一个指示“需要许可证”的窗口。
  1. 在已从 Visual Studio 2003 迁移至 Visual Studio 2005 的 Windows 应用程序中,在“Windows 表单设计器”中打开一个包含数据适配器的表单。
  2. 在设计器的组件栏中,右键单击该数据适配器,然后在快捷菜单上选择配置数据适配器
“关于向导”窗口将打开。该窗口中的内容说明每位开发者都需要组件许可证。
变通方法:单击确定以关闭“关于向导”窗口,然后继续使用“数据适配器配置”向导。该向导不需要许可证。

支持

在新闻组论坛 developerWorks® .NET 论坛中将提供对 IBM Database Add-Ins for Visual Studio 2005 修订包 2 的支持。此论坛由 IBM Database Add-Ins for Visual Studio 2005 和 IBM DB2 Data Provider for .NET Framework 2.0 的开发者负责。此 IBM 开发者小组期望与您交互并且欢迎您提出任何反馈或建议,以便能将这些反馈或建议包括在以后发行的用于 Visual Studio 和 .NET 的 IBM 数据提供程序和加载件工具中。

通过积极参与 developerWorks .NET 论坛,以帮助将其发展成为一种与 IBM 开发者进行交流并向他们提出反馈的成功模式。