gpt4 book ai didi

java - 在 Web 服务中访问 sqlite 数据库文件的最佳方法

转载 作者:行者123 更新时间:2023-12-01 05:56:09 24 4
gpt4 key购买 nike

我关于堆栈溢出的第一个问题。

我已经使用 netbeans 创建了一个包含 Web 服务的 Java Web 应用程序(我希望 Web 应用程序是正确的选择)。我按原样使用 Web 应用程序,没有额外的框架。此 Web 服务使用 sqlite JDBC 驱动程序来访问 sqlite 数据库文件。

我的问题是,当我尝试形成 JDBC 连接字符串时,文件路径最终不正确。此外,部署和运行 JUnit 测试时的工作目录是不同的。我在某处读到过有关将文件作为资源包含的内容,但没有看到这样的示例。

无论如何,在部署 Web 服务和“本地”测试它时,打开 sqlite 数据库的最佳方式是什么?

我对网络服务了解不多,我只需要它能够工作,所以请帮助我解决技术问题。

更新为了将其放在上下文中,一些“println”代码给出了以下内容:

从简单的 JUnit 测试打印工作目录给出

C:\MinaFiler\Work\SOA\BusTimetableWS

调用类似的 Web 服务方法会返回

C:\Program Files\sges-v3\glassfish\domains\domain1

连接字符串是通过在当前绝对路径前面添加“jdbc:sqlite:”而形成的:

C:\MinaFiler\Work\SOA\BusTimetableWS\src\java\miun\bustimetable\database\sqlit\BusTimetableWS.db

但是,这失败了,因为我的测试抛出异常,表明数据库表不存在,尽管它们确实存在,我可以使用 sqlite3.exe 看到它们。

最佳答案

一种方法是使用一个配置文件,您可以从那里读取并获取连接字符串。

我确信您使用的框架有某种保存配置的标准方法。

另一个选择是将数据库放置在主执行文件的已知相对路径中。然后在执行时获取当前目录,并从该路径查找数据库。

关于java - 在 Web 服务中访问 sqlite 数据库文件的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com