站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题数据库的配置

数据库的配置

摘要: 数据库的配置
<table width="100%" height="92%" border="0" cellpadding="6" cellspacing="0"> <tr> <td height="623" align="left" valign="top" class="content"> <table cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#525D76">

数据库的配置

</td>
</tr>
<tr>
<td>



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



<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#828DA6">

必要条件

</td>
</tr>
<tr>
<td>


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




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




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




</td>
</tr>
</table>

<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#828DA6">

连接配置

</td>
</tr>
<tr>
<td>


配置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:。现在你可以随意的
为不同的数据仓库搭配不同的数据存储类型。数据仓库配置
中有详细的介绍。下面有一个简单的配置示例。





</td>
</tr>
</table>

<table width="100%" cellpadding="2" cellspacing="0" border="0" height="259">
<tr>
<td bgcolor="#828DA6" height="18">

SQL 语句的配置

</td>
</tr>
<tr>
<td height="233">



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





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





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




</td>
</tr>
</table>

<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#828DA6">

James配置示例

</td>
</tr>
<tr>
<td>




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




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





<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td height="1" width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#023264">

</td><td height="1" width="1" bgcolor="#023264">

</td>
</tr>
<tr>
<td width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#ffffff">

org.gjt.mm.mysql.Driver
jdbc:mysql://127.0.0.1/mail
username
password
20


</td><td width="1" bgcolor="#023264">

</td>
</tr>
<tr>
<td height="1" width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#023264">

</td><td height="1" width="1" bgcolor="#023264">

</td>
</tr>
</table>




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





<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td height="1" width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#023264">

</td><td height="1" width="1" bgcolor="#023264">

</td>
</tr>
<tr>
<td width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#ffffff">




</td><td width="1" bgcolor="#023264">

</td>
</tr>
<tr>
<td height="1" width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#023264">

</td><td height="1" width="1" bgcolor="#023264">

</td>
</tr>
</table>



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





<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td height="1" width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#023264">

</td><td height="1" width="1" bgcolor="#023264">

</td>
</tr>
<tr>
<td width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#ffffff">




</td><td width="1" bgcolor="#023264">

</td>
</tr>
<tr>
<td height="1" width="1" bgcolor="#023264">

</td><td height="1" bgcolor="#023264">

</td><td height="1" width="1" bgcolor="#023264">

</td>
</tr>
</table>



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




</td>
</tr>
</table>

<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#828DA6">

已知的问题

</td>
</tr>
<tr>
<td>



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




</td>
</tr>
</table>


</td>
</tr>
</table>
</td> </tr> </table></td> </tr> </table>
↑返回目录
前一篇: 作用于整个服务器的配置
后一篇: 配置 Tomcat 集群