自动创建表和数据源以便为 WebSphere Application Server V6.1 测试 CMP bean

表和数据源创建程序能够自动创建用于测试容器管理的持久性(CMP)企业 bean 的持久资源,而不必担心持久机制或如何配置数据源。通过允许工具创建数据源和/或数据库表,可以像测试会话 bean 那样轻松地测试 CMP bean。表和数据源创建程序会自动捕获下列信息:用户标识、密码、主机名、端口、指向 JDBC 驱动程序的路径、是否先废弃表、是否只创建数据源而不创建表或者只创建表而不创建数据源。
支持下列数据库系统,但是具有一些限制: 先决条件任务:
  1. 创建企业应用程序项目
  2. 创建 EJB 项目(在刚刚创建的企业应用程序项目中进行)。
  3. 创建 CMP bean(在对应于刚刚创建的企业应用程序项目的 EJB 项目中进行)。
  4. 生成自顶向下映射,选择下列其中一项作为目标数据库:
    • Derby 10.1
    • DB2 UDB V8.2
    • DB2 UDB V8.1
    • Oracle 10
    • Oracle 9
    • SQL Server 2000
  5. 通过完成下列步骤,验证是否选择了要使用的当前后端标识,并且连接工厂绑定的 JNDI 名称是否唯一:
    1. 在 J2EE 透视图的“项目资源管理器”视图中展开 EJB 项目。
    2. 右键单击 EJB JAR 图标 这是 EJB JAR 图标的图像。 并选择打开
    3. “EJB 部署描述符”编辑器打开。
    4. 在“EJB 部署描述符”编辑器的“概述”页中,向下滚动至 WebSphere 绑定部分。
    5. 当前列表的后端标识部分中,通过选择下列某个受支持的当前后端标识来指定要创建表或数据源的数据库供应商:
      • DERBY_V101
      • DB2UDBNT_V82
      • DB2UDBNT_V8_1
      • ORACLE_V10
      • ORACLE_V9
      • MSSQLSERVER_V2000
      提示: 尽管使用 EJB 至 RDB 映射工具生成自顶向下映射允许您生成任何当前后端标识,但该表和数据源创建程序仅支持上面列示的当前后端。如果尝试选择不受支持的当前后端标识,则该表和数据源创建程序将无法继续,并且会产生以下错误消息:
      没有 EJB 项目包含对应受支持供应商对此 WebSphere 版本自动创建表和数据的模式。受支持供应商包括:Apache
      Derby V10.1、DB2 通用数据库 V8.1、DB2 通用数据库 V8.2、Oracle V9i、Oracle V10g 和 Microsoft SQL Server 2000。
    6. JNDI 名称字段的 JNDI - CMP 连接工厂绑定部分中,指定唯一 JNDI 名称。否则,该表和数据源创建程序无法创建数据源,并且会生成以下错误消息:
      未添加新数据源,这是因为它与现有数据源 JNDI 名称重复。
    7. 保存更改并关闭 EJB 部署描述符编辑器。

要创建表和/或数据源以便测试 CMP 实体 bean:

  1. 创建 WebSphere Application Server V6.1 服务器。
  2. 在“服务器”视图中,右键单击该服务器并选择添加和除去项目,将包含 CMP 的 EAR 项目添加至服务器 在服务器中添加和除去项目时,会自动启动服务器,并且会发布该应用程序。
  3. 在“服务器”视图中,右键单击该服务器并选择创建表和数据源。表和数据源创建程序向导打开。
  4. 指定是否要创建表:
    1. 如果正在对 CMP 实体 bean 执行自顶向下映射并且要创建表,则选择database_vendor 创建数据库表复选框。
    2. 如果选择了database_vendor 创建数据库表复选框,则使用废弃先前生成的数据库表复选框以指定是否除去先前生成的数据库表。
      警告:
      启用“废弃先前生成的数据库表”复选框将除去先前创建的表及存储在这些表中的数据。
    3. 如果要使用数据库中已存在的表或者正在执行自底向上映射并且不想创建这些表,则清除废弃先前生成的数据库表database_vendor 创建数据库表复选框,并继续为 CMP 实体 bean 创建数据源以连接至这些现有表。
  5. 如果要创建数据源,则完成下列步骤:
    1. 选择database_vendor 创建数据源复选框。
    2. 如果要为 IBM Cloudscape V10.1(又称为 Derby)创建数据源,则继续下列步骤,这是因为主机名或端口号不是必需的。对于所有其他受支持的数据库供应商,继续完成此步骤。
    3. 数据库服务器主机名或 IP 地址字段中,指定主管数据库的计算机名,如 localhost
    4. 数据库服务器端口号字段中,指定数据库连接的端口号。缺省情况下指定了下列端口号:对应 DB2 的 50000,对应 Oracle 的 1521 或对应 SQL Server 的 1433。
    5. (可选)如果已清除database_vendor 创建数据库表复选框并且只想创建数据源,则可选择在此向导中指定数据源连接信息,方法是选择在此处指定所有数据源连接信息复制框,指定下面的详细信息并单击完成
      数据库用户标识
      指定访问数据库所需的用户标识。
      数据库用户密码
      指定访问数据库所需的密码。
      JDBC 驱动程序的本地路径
      对本地文件系统上的此数据库指定 JDBC 驱动程序路径的完整集合。如果指定多个 JAR 文件,则 JAR 文件名必须是标准名称并且必须用路径分隔符隔开。路径分隔符取决于运行工作台的操作系统。在 Windows® 中,将分号(;)用作路径分隔符。在 Linux® 平台上,将冒号(:)用作路径分隔符。例如:
      此图形是 Windows 图标。在 Windows 上: c:\Program Files\IBM\SQLLIB\java\db2jcc.jar;c:\Program Files\IBM\SQLLIB\java\db2jcc_license_xxxxx.jar
      此图形是
Linux 图标。在 Linux 上: c:\Program Files\IBM\SQLLIB\java\db2jcc.jar:c:\Program Files\IBM\SQLLIB\java\db2jcc_license_xxxxx.jar
      或者,可在此向导的下一页中指定数据源的连接参数。
  6. 单击下一步。“选择连接”向导打开。
  7. 指定是使用新的数据库连接还是使用现有连接。
    1. 要创建新的数据库连接,请选择创建新连接单选按钮并单击下一步。表创建向导的连接参数打开。使用此向导指定数据库连接参数
      提示: 在单击“完成”之前使用测试连接按钮测试数据库连接,以验证所有设置是否正确并且与数据库的连接是否有效。
    2. 要使用现有连接,请选择使用现有连接单选按钮并在现有连接表中选择连接。属性表将显示连接参数和值。 现有数据库连接可能已连接或已断开连接。如果数据库连接已连接并且您指定创建表,则表和数据源创建程序将连接至数据库并创建该表。如果数据库连接已断开连接并且您指定创建表,则“数据库授权”对话框将打开,提示您输入用户标识和密码以启动数据库连接。
  8. 完成表和数据源创建程序向导后,单击完成 “表和数据源创建结果”对话框将打开,显示 SQL 操作列表以及创建表时产生的所有错误。要复制文本,请突出显示文本,单击右键并选择复制。可使用详细信息按钮以了解有关创建表和数据源的其他状态。
  9. (可选)如果要验证数据源的创建,则打开应用程序部署描述符编辑器的“部署”页。 您会发现已创建下列元素:
    • 如果先前未创建,则会创建新的 JDBC 提供程序。
    • 新的使用 JDBC 提供程序的数据源。数据源指定在 EJB 部署编辑器中定义的 JNDI 名称以及在映射中指定的数据库名称。
    • 新的 Java™ 认证和授权服务(JAAS)认证条目,用于指定用于认证数据库连接的用户标识和密码。对于 Derby,将不创建 JAAS 认证条目,这是因为没有必要。
    • 将 JDBC 提供程序路径的变量与 JDBC 驱动程序的实际文件路径相关联的变量映射。对于 Derby,将不创建变量映射,这是因为没有必要。
  10. (可选)使用通用测试客户机测试 CMP bean
如果您再次执行此任务:

反馈