有个java web作业,要求数据库用sqlite。 我用sqliteDev工具创建了一个数据库叫 helloword.db; 在E盘根目录下。 现在我要在tomcat下配置数据源,驱动我已经下载完了,但是不知道怎么正确的配置。 我尝试过这样配置(是错误的):<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"
/> 散分请教高手,帮我改正这个错误,先谢谢了。
auth="Container"
type="javax.sql.DataSource"
username=""
password=""
driverClassName="org.sqlite.JDBC"
url="jdbc:sqlite:E:\helloword.db;"
maxActive="2"
maxIdle="1"
maxWait="5000"
/> 散分请教高手,帮我改正这个错误,先谢谢了。
配置的方法有很多,能不能阐明你的需求。在tomcat下配置数据源。是不是可以理解为数据源随着tomcat启动时加载?
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 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>
<Resource name="jdbc/mysql" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="mysqladmin"
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/mldn"/></Context>
我用的是mysql 你把这一段直接拷贝到tomcat下的conf/service.xml的</HOST>上面就可以用了,你记得要改一下驱动和密码
<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" />
web.xml配置
<resuorce-ref>
<res-ref-name>jdbc/mySqlite</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
能加载到驱动那就没问题了,最好是把你报的错误帖上来