<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
数据库的配置 |
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中使用数据库会出现一些微妙的问题。 他们报告的这些问题(和解决问题的办法)在James FAQ中有记录。 如果你遇到困难请参考FAQ。
|
|