< 上一课 | 下一课 >

第 3 课:设置数据库连接

在本课中,您会将项目连接至您在上一课中导入的数据库。
因为本教程的目标并非教您如何连接至数据库,所以本课不会详细说明该过程。简而言之,您将设置数据库连接,该连接允许 EGL 应用程序在以下时间连接至数据库:设计应用程序时(设计时连接)以及在服务器上运行应用程序时(运行时连接)。

按上一课中说明,WebSphere® Application Server 使用 EAR 项目中的数据库连接信息。Tomcat 使用 Web 项目中的数据库连接信息。因此,每个服务器的数据库连接步骤都有所不同。

创建连接

不管您使用哪个服务器,都必须创建与数据库的设计时连接。如果您正在使用 WebSphere Application Server,那么 EGL 还会自动创建匹配的运行时连接。如果您在使用 Tomcat,那么本课中的后续其他步骤将引导您将此连接与 Tomcat 相关联。在下一课中,您还将使用此设计时连接来创建启动程序 EGL 代码。

  1. 在“企业资源管理器”视图中,右键单击 EGLWeb 项目,然后单击属性
  2. 在“属性”窗口中,单击 EGL 运行时数据源
  3. 在“EGL 运行时数据源”页面上,选择通过数据工具连接装入值,然后单击新建 “新建连接”窗口将打开。
  4. 在“连接概要文件”窗口中,单击连接概要文件类型下的 Derby
  5. 对于名称,输入以下名称:
    EGLDerbyDB
  6. 可以让描述保留为空白。单击下一步
  7. 驱动程序列表中,保留缺省 BIRT SampleDb Derby 嵌入式驱动程序
  8. 属性下的数据库位置字段中,单击浏览并浏览至以下文件夹:

    workspace-location/EGLWeb/WebContent/EGLDerbyDB

    workspace-location 是当前工作空间的完整路径。单击确定

  9. 清除用户名字段,并让密码字段保留为空白。对于此数据库,您不需要输入用户名或密码。
  10. 接受 URL 的缺省值。因为数据库已存在,所以可取消选中创建数据库(必要时)对应的复选框。请确保已选中完成向导时进行连接
  11. 单击测试连接 如果所有信息都正确,那么“新建连接”窗口应如以下示例所示,并且您自己的工作空间和位置信息在数据库位置字段中:
    “指定驱动程序和连接详细信息”窗口显示了一个成功建立的连接
  12. 单击确定以关闭测试连接窗口。
  13. 单击完成 会创建新连接,并且会在下列字段中填写连接所需要的信息:
    “属性”页面上的“新建运行时数据源”

    请注意,EGL 已为此连接指定 JNDI 名称,这是此连接的标识。缺省情况下,JNDI 名称为 jdbc/EGLDerbyDB(基于数据库的名称)。应用程序将使用此名称在运行时访问数据库连接。

  14. 单击确定
  15. 您可能会看到一个窗口询问您是否要更新此项目的缺省构建选项中的信息。如果看到此窗口,请单击
  16. 在“项目资源管理器”视图中,展开 EGLWeb 项目和 EGLSource 文件夹。通过在“项目资源管理器”视图中双击 EGLWeb.eglbld 文件来打开该项目的构建文件。 构建文件将在构建部件编辑器中打开。
  17. 检查“EGL 运行时数据源”窗口是否根据连接信息设置构建描述符选项。 对于 WebSphere Application Server,构建描述符选项应如下所示:
    显示数据库连接的适当设置的构建描述符选项的图片
    要让数据库连接生效,需要设置下列选项:
    dbms
    此构建描述符选项指示数据库的类型,在此情况下为 DERBY。
    sqlDB
    此构建描述符选项指示连接 URL 或服务器用于查找数据库的字符串。每种数据库类型的连接 URL 的格式有所不同,但对于 Derby,格式为:连接协议(在此情况下为 JDBC),冒号分隔符,数据库的类型(Derby),再一冒号分隔符,磁盘上的数据库的路径,然后是连接的所有参数。在此情况下,连接 URL 类似于以下示例,并使用数据库的路径来代替 D:\MyData\workspace_jsf_tutorial
    jdbc:derby:D:\MyData\workspace_jsf_tutorial\EGLWeb\WebContent\EGLDerbyDB
    sqlValidationConnectionURL
    此构建描述符选项设置连接 URL 以用于验证与数据库的连接。在此情况下(与大多数情况中一样),此选项与 sqlDB 相同。
    sqlJDBCDriverClass
    此构建描述符选项设置数据库驱动程序的名称,此驱动程序是用于访问数据库的程序。“新建连接”窗口从 derby.jar 文件中检索到此名称:org.apache.derby.jdbc.EmbeddedDriver
    sqlJNDIName
    在运行时表示连接的 JNDI 名称。
  18. 如果已根据您在“新建连接”窗口中填写的信息设置了构建描述符选项,请关闭构建描述符而不做任何更改。如果未设置构建描述符选项,请遵循下列步骤来设置这些选项:
    1. 使用连接装入 DB 选项列表中,选择 EGLDerbyDB 连接。 将设置一些选项,但 sqlJNDIName 选项除外。
    2. sqlJNDIName 选项设置为以下 JNDI 名称(完全按已显示样式):
      jdbc/EGLDerbyDB
      注: 要打开 sqlJNDIName 选项以进行编辑,请在该选项旁边的列中慢速单击两次。还可在列中快速单击三次。
      构建描述符选项的值现在与上文所述相匹配。
    3. 保存并关闭构建描述符。
    4. 可选择设置“EGL 运行时数据库连接”窗口以在将来通过启用关联首选项进行这些更改。单击窗口 > 首选项,然后单击 EGL > 缺省构建描述符。在修改运行时数据源时更新项目的构建描述符选项下,选择总是以自动更新构建描述符选项,或选择提示以给出选项。 此首选项在您下次使用“EGL 运行时数据库连接”窗口时生效。

课程复习要点

在本课中,您将为项目设置数据库连接。
使用项目“属性”窗口的“EGL 运行时数据源”页面时,您先使用工作台的数据工具创建了与数据库的设计时连接。然后,如果您在使用 WebSphere Application Server,那么 EGL 使用此设计时连接中的信息创建了要在运行时使用的匹配连接。在此情况下,EGL 对项目所做的更改包括:
  • EGL 按课程中之前的说明设置与特定数据库相关的构建描述符选项值。
  • EGL 创建了 JNDI 名称以用作连接名称。缺省情况下,为项目创建的 JNDI 名称为 jdbc/EGLDerbyDB(基于数据库的名称)。
  • 对于 WebSphere Application Server V7 之前的版本,EGL 将数据源添加至 EAR 项目的部署描述符。此数据源使 JNDI 名称与数据库本身相关联。对于 V7,不再需要在 EAR 中定义数据源。
  • EGL 在 EGLWeb 项目的 Web 部署描述符 WebContent\WEB-INF\web.xml 中添加对该 JNDI 名称的资源引用。现在 EGLWeb 项目可通过 JNDI 名称使用在 EAR 项目中定义的数据源。根据您使用的应用程序服务器的版本不同,编辑器的外观会有所不同。以下示例显示用于 WebSphere Application Server V7 的编辑器。
    显示资源引用的 Web 部署描述符

如果您在使用 Tomcat,那么项目没有 EAR 项目,因此 EGL 将提供连接信息的上下文文件添加至 Web 项目。上下文文件执行的任务基本上与部署描述符中的信息相同:它会使 JNDI 名称与数据库的位置及服务器连接至该数据库时所需的信息相关联。该连接仅对此项目有效。

注: 不管您在使用哪个服务器,从此处开始,大部分步骤都是相同的。
< 上一课 | 下一课 >

反馈