日期:2014-05-20  浏览次数:20833 次

请教关于tomcat配置数据源的问题
有个java web作业,要求数据库用sqlite。 我用sqliteDev工具创建了一个数据库叫 helloword.db; 在E盘根目录下。 现在我要在tomcat下配置数据源,驱动我已经下载完了,但是不知道怎么正确的配置。 我尝试过这样配置(是错误的):
XML code

<Resource name="jdbc/mySqlite"
              auth="Container"
              type="javax.sql.DataSource"
              username=""
              password=""
              driverClassName="org.sqlite.JDBC"
              url="jdbc:sqlite:E:\helloword.db;"
              maxActive="2"   
              maxIdle="1"    
              maxWait="5000"
    />


 散分请教高手,帮我改正这个错误,先谢谢了。

------解决方案--------------------
废话不多说,上代码,首先我们来排除是不是因为驱动不对,而导致的问题

public static Connection getConnect() {
Connection conn = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager
.getConnection("jdbc:sqlite:test.db");
conn.setAutoCommit(false);
return conn;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}

你看看能不能获取到连接

尝试建立表
public void test() {
Connection conn = sqliteFactory.getConnect();
try {
Statement statement = conn.createStatement();
String sql = "create table xingnengtest (aa varchar(20),bb varchar(20),cc varchar(20),dd varchar(20),ee varchar(20),ff varchar(20),gg varchar(20),hh number(20),ii number(20), jj number(20))";
statement.executeUpdate(sql);
System.out.println("建表hehe成功!");
conn.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}





------解决方案--------------------
如果上述操作可以执行,不报错。你命令行,查询是否存在该表。如果建表成功。那我们下面讲配置信息写在xml配置文件中
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
 <proxool>
<alias>0</alias>
<driver-url>jdbc:sqlite:test.db</driver-url> ### test.db 注意路径
<driver-class>org.sqlite.JDBC</driver-class>
<minimum-connection-count>2</minimum-connection-count> ####最小连接数
<maximum-connection-count>10</maximum-connection-count> ####最大连接数
<test-before-use>true</test-before-use>
<house-keeping-test-sql>select now()</house-keeping-test-sql>
</proxool> 
</something-else-entirely>


然后我们在web.xml中加载连接池

<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Admin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>

------解决方案--------------------