« WebChart的DB连接配置 »
Tools » http://www.anysql.net/tools/webchart_dbconn_config.html 2009-02-02WebChart中有自已的连接池管理器, 至于为什么不用Tomcat的, 则是因为开发WebChart第一版时有好几个比较流行的Java EJB&Servlet容易, 各个容易的程序接口不太一样, 所以就写了一个自已的湊合着用了, 反正主要的目标是内部使用一下的程序, 没有指望一天有几十万或上百万的访问量. 配置文件放在如下位置:
WEB-INF/dbconn.cfg
是一个文本文件, 可以用任何文本编辑回打开编辑. 内容如下所示:
# 启用的数据库连接
DBLIST=连接名[|连接名[|连接名… ]]# 连接参数设置
连接名.DBTYPE={ORACLE|SYBASE|MSSQL|DB2NET|DB2APP|MYSQL|ODBC}
连接名.DBHOST=数据库信息
连接名.DBUSER=数据库用户
连接名.DBPASS=用户口令
连接名.MAXCONNS=最大连接数
连接名.INITCONNS=初始连接数……
# WebChart 元数据库连接名称
ADMINDB=连接名
DBLIST这一行指定多个数据源的名字, 可以在WebChart页面定义文件(WCML文件)中为某个SQL语句指定数据源, 如果没有显式指定数据源名字, 则访问名为DEFAULT的数据源. 然后是每个数据源的连接属性定义, 类型(DBTYPE), JDBC数据库URL(DBHOST), 用户名(DBUSER), 口令(DBPASS), 最大连接数(MAXCONNS), 最小连接数(INITCONNS). 当要使用WebChart默认的安全机制时, 需要指定一个元数据的连接位置(ADMINDB=数据源名), 以创建WebChart安全功能中所需要用到的几张表.
对于WebChart目前的连接池, 没有连接超时机制, 如果你的连接信息不对, 导致不能连上数据库, 会引起页面永远打不开处于等待状态.
目前密码还是明文保存的, 将会在近期改进这一点, 以提高系统的安全性.


怎么知道数据库是否连接成功?
http://10.4.105.213:8080/index.jsp
可以显示
Created MBeanServer with ID: 175d6ab:11ffdaec3ee:-8000:test1:1
2009-3-13 10:35:03 org.apache.coyote.http11.Http11BaseProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
Starting service Tomcat-Standalone
Apache Tomcat/4.1.39
2009-3-13 10:35:05 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2009-3-13 10:35:05 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-3-13 10:35:05 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/78 config=null
去数据库上看看有没有连接,或是看一下能不能正常打开查询数据的页面。
可以连SQLite库吗,我下载了sqlite jdbc包,可是不知道怎么配置。
SQLLite库啊,我要了解一下,才能支持.
我是把Windows计数器保存到SQLite,打算用WebChart显示看看。如果那天SQLite顶不住,或许会使用SQLServer
那我就增加对SQLite的支持吧.
我的配置 webchart 数据库连接配置 如
# WebChart元数据库连接名称
ADMINDB=DEFAULT
# 启用的数据库连接
PHYSICAL.DBLIST=PHYSICAL
#|MYSQL
# 连接参数设置
PHYSICAL.ORACLE.DBTYPE=oracle
PHYSICAL.ORACLE.DBHOST=localhost:1521:orcl
PHYSICAL.ORACLE.DBUSER=xujun
PHYSICAL.ORACLE.DBPASS=xujun123
PHYSICAL.ORACLE.MAXCONNS=4
PHYSICAL.ORACLE.INITCONNS=1
PHYSICAL.ORACLE.LOCALE=ENGLISH
#PHYSICAL.MYSQL.DBTYPE=mysql
#PHYSICAL.MYSQL.DBHOST=localhost:3306/test
#PHYSICAL.MYSQL.DBUSER=
#PHYSICAL.MYSQL.DBPASS=1B820063CEA8A955
#PHYSICAL.MYSQL.MAXCONNS=4
#PHYSICAL.MYSQL.INITCONNS=1
#PHYSICAL.MYSQL.LOCALE=ENGLISH
LOGICAL.DBLIST=DEFAULT
LOGICAL.DEFAULT=oracle
可是连接tomcat报错误
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
com.lfx.db.DatabaseMarkdownException: Database (LOGICAL.DEFAULT) is markdown!
com.lfx.db.DBLogicalManager.getPoolConnection(DBLogicalManager.java:174)
com.lfx.web.WebChart2.generateChart(WebChart2.java:1611)
com.lfx.web.WebChart2Servlet.doGet(WebChart2Servlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.0 logs.
我的tomcat 是 7.0.0 的 jdk 1.6