一尘不染

如何在Tomcat 6中配置SQLite?

tomcat

您能否提供有关在Tomcat 6中使用sqlite的步骤?我正在使用Xerial sqlite
jdbc驱动程序。在我的应用程序中,我有多个sqlite数据库(.db文件),并且需要根据哪个用户登录来连接到其他sqlite数据库?我可以将所有.db文件放在哪里-
在webapp根目录中,或者在系统上的任何地方,或者放在WEB-INF中?

谢谢,


阅读 504

收藏
2020-06-16

共1个答案

一尘不染

我们所做的非常相似。不幸的是,您无法在Tomcat上创建SQLite连接池,因为SQLite具有每个用户的数据库文件。

只需将jar文件复制到文件TOMCAT_HOME/lib夹中,就不能通过JNDI调用连接。您将必须执行以下操作:

/**
     * 
     * @param driverClassName
     * @param url
     * @param user
     * @param password
     * @throws SQLException 
     * @throws Exception 
     */
    public DefaultJdbcTransaction(String driverClassName, String url, String user, String password) throws SQLException {
        super();
        // TODO Auto-generated constructor stub
        try {
            Class.forName(driverClassName).newInstance();

            if (user == null && password == null) {
                connection = DriverManager.getConnection(url);
            } else {
                connection = DriverManager.getConnection(url, user, password);
            }
        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            throw new SQLException(e);
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            throw new SQLException(e);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            throw new SQLException(e);
        }
    }

其中url="jdbc:sqlite:/path/to/sqlite/file/userId.db"driverClassName="org.sqlite.JDBC"和(user = password = null)。

我正在使用sqlitejdbc-v056.jar

希望这可以帮助

2020-06-16