我有一个 Java 网络应用程序。我需要指向我在项目根目录(在 Eclipse 中)中拥有的现有 sqlite 数据库。
我有所有必需的驱动程序/罐子。
问题是从我的 sqlite 数据库表中选择的代码是针对新创建的数据库运行的。我收到我的表“Table1”不存在的错误。我相信这是因为正在创建一个新数据库,而不是在根目录中使用现有的 sqlite 数据库以及我需要的表和数据。
有谁知道我如何强制使用这个本地 sqlite 数据库?
我有一个 Java 网络应用程序。我需要指向我在项目根目录(在 Eclipse 中)中拥有的现有 sqlite 数据库。
我有所有必需的驱动程序/罐子。
问题是从我的 sqlite 数据库表中选择的代码是针对新创建的数据库运行的。我收到我的表“Table1”不存在的错误。我相信这是因为正在创建一个新数据库,而不是在根目录中使用现有的 sqlite 数据库以及我需要的表和数据。
有谁知道我如何强制使用这个本地 sqlite 数据库?
根据SQLite 文档,如果找不到现有数据库,则默认情况下会创建一个新数据库——因此最可能的解释是连接字符串中的路径未指向您预先存在的数据库。
请参阅此处有关 Web 应用程序中的相对路径的问题:如果您的 Web 应用程序是 servlet,请使用ServletContext.getResource获取数据库的路径以在连接字符串中使用。因此,如果您现有的数据库位于 /WEB-INF:
ServletContext.getResource("/WEB-INF/my.db");