收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
积木学院 > 程序开发 > JSP > 正文

数据库的配置

来源:互联摘选 日期:2004-06-22 13:12









数据库的配置





James能够使用兼容JDBC的数据库存储消息和用户数据。这部分阐述了如何配置James使用数据库存储数据。












必要条件




在James中用后台数据库存储数据有明确的要求,但不同的数据库产品的配置是不一样的,
所以我们只能用通用的术语陈述这些要求。




James服务器必须能访问到一个数据库,而且必须有一个具有合适的权限(在表中查询、插入、删除记录,还要能创建表)的账号,
还要有足够的资源支持把数据插入到数据库中保存。另外,既然James用JDBC访问数据库,所以找一个合适的JDBC驱动安装也是必需的。




在将数据库作为James的数据仓库之前验证它的功能也很重要,这可以帮助你把配置中出现的问题正确的识别出来。















连接配置




配置Phoenix容器使它使用JDBC工作是让James支持数据库的第一步。




首先必须让Phoenix能够载入JDBC类,为了让Phoenix能够访问到这些类,需要把JDBC驱动的jar/zip文件放在James安装路径的lib子目录下。
如果JDBC驱动还需要一些非Java标准发布文件的库文件,这些库文件也应该添加到这个目录中。




请注意James的发布文件包含了MySQL的驱动,所以这里没有必要把它的驱动放到lib目录中。




其次,必须修改config.xml文件以使Phoenix初始化数据库连接。相关的配置在database-connections配置块中。
database-connections标签仅有一个子元素data-sources,它是一个简单的容器标签,
包含几个data-source子元素。这些子元素定义了数据库的连接。



每个data-source都有一个必需的属性 name
每个data-source元素的 name值必须是唯一的。
在config.xml的其它部分中将用这个name值引用数据连接。



data-source元素有5个节点,都是必需的。




  • driver - 数据库驱动器的类名。



  • dburl - 为你的数据库创建的JDBC的URL。



  • user - 这个连接所用的数据库账号的用户ID。



  • password - 这个连接所用的数据库账号的密码



  • max - 这个数据源当前所用的最大JDBC连接数








通常你只需要简单的修改config.xml文件中被注释的内容。
之后数据仓库的前缀应该改为db:或dbfile:,不再用file:。现在你可以随意的
为不同的数据仓库搭配不同的数据存储类型。数据仓库配置
中有详细的介绍。下面有一个简单的配置示例。
















SQL 语句的配置





可以在另一个配置文件中精确的定义James用来浏览和修改数据库中存储的数据的SQL语句,
apps/james/conf目录下的sqlResources.xml文件是James用来包含SQL语句的配置文件样例。
这些语句的目的以及与它们相关联的数据仓库在文档中都是成套的。





如果你用的SQL数据库用了特殊的SQL命令或数据类型,你可能要在这个文件中添加特定的内容。
James小组确实尽力使sqlResources.xml适用,所以如果你遇到了特殊的情况,请通知我们。





另外,如果数据库的表不是先创建的,而是由James启动时创建,你需要特别注意这个文件中的“create table”语句。
这样的语句通常和数据库产品及其产品的不同版本相关性很大。















James配置示例






config.xml文件的注释中有MySQL 和 MSSQL 两种数据库的标准数据仓库数据源的例子。
例如,如果你要用MySQL,可以去掉注释符号并调整下面的data-source元素。




你必须创建数据库,在这里称为mail,和用户,并赋予用户权限。
你可能在James运行之前创建数据表,或者让James自动创建它所需要的表。
在后一种情况下,用户必须有创建表的权限。
























<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
<driver>org.gjt.mm.mysql.Driver</driver>
<dburl>jdbc:mysql://127.0.0.1/mail</dburl>
<user>username</user>
<password>password</password>
<max>20</max>
</data-source>














一旦创建了data-source元素,就可以在config.xml文件的其它部分引用它。例如,下面的例如告诉
James用maildb数据源和dbfile存储机制作为消息池:
























<spoolRepository>
<repository destinationURL="dbfile://maildb/spool/spool" type="SPOOL"/>
</spoolRepository>













下面的元素告诉James在maildb数据源中存储邮箱:
























<inboxRepository>
<repository destinationURL="db://maildb/inbox/" type="MAIL"/>
</inboxRepository>













配置文件中包含更详细的例子。















已知的问题





一些用户已经观察到在James中使用数据库会出现一些微妙的问题。
他们报告的这些问题(和解决问题的办法)在James FAQ中有记录。
如果你遇到困难请参考FAQ。








推荐阅读

 

热点信息

 
强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号