问题标签 [sqlitejdbc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - SQLite 内存数据库间歇性地遇到 SQLITE_LOCKED_SHAREDCACHE
我正在使用 mybatis 3.4.6 和 org.xerial:sqlite-jdbc 3.28.0。下面是我使用启用共享模式的内存数据库的配置
db.url
根据这个测试类是正确的
我设法使用以下 mybatis 配置设置了正确的事务隔离级别,尽管根据我也报告的这个问题,属性 read_uncommitted 有一个错字
这一行配置
设置正确的PRAGMA read_uncommitted值的技巧
我很确定,因为我调试了初始化连接的底层代码并检查值是否已正确设置
但是通过上述设置,我的程序在读取时仍然会间歇性地遇到 SQLITE_LOCKED_SHAREDCACHE,根据下面屏幕截图红色矩形突出显示的描述,我认为它不应该发生。我想知道原因以及如何解决它,虽然这个错误的发生概率很低。
任何想法,将不胜感激!!
调试配置如下
附件:
例外如下
sql - 将 UNIX 格式的特定日期插入 TABLE
我有一个代表帖子的表格(在您喜欢的任何社交媒体上),该表格包含磁贴、描述和发布时间。
在此示例中,如果帖子有NULL
日期,我必须自动将其修改为特定日期,即 2019 年 4 月 27 日 21:11:12 UTC(UNIX 格式)。问题是我该怎么做?我试图找到一种方法并在互联网上阅读了很多东西。
1556399472
我还看到了一个 Unix Time Stamp - Epoch Converter 并看到那个日期的值是工作:<)
这里的另一个例子是为了确保清楚:
我必须把它转换成这样的东西
注意:我在 IntelliJ IDE 中使用 SQL。
sql - 如何在 SQLite 中将 int(UNIX 时间戳)转换为 datetime?
我必须在 SQL 中创建一个表(我正在使用 IntelliJ 和 Java),并且该表必须遵守以下限制。
该表将包含以下列:
- 标题 - 需要能够存储字母、数字和特殊字符
- news_description - 需要能够存储时事通讯的文本
- publish_date - 需要能够存储一个整数(在 UNIX 系统中)
除此之外,我们还有以下限制:
仅当该表不存在时才会创建该表
主键将是标题
2 个时事通讯不能有相同的描述
news_description 不能为空
如果未指定发布日期,我需要使用 UTC 将其设置为 2019 年 4 月 27 日 21:11:12,并且日期必须为 UNIX 格式
所以我的问题是我如何在创建表格时尊重我上面所说的所有限制
注意:这是我的作业,除了表格之外我不能添加任何东西,所以我需要遵守表格创建过程中的所有限制。
sql - 进行查询以选择包含特定单词的新闻
我需要编写一个查询来选择所有news
包含“苹果”或“西瓜”(或两者)在他们title
或他们中的单词newsletter_description
,我不太确定我该怎么做。(不区分大小写,也可以是“AppLe”或“WaterMelon”)
java - Java:填写 PreparedStatement 的 SQLite 参数会导致错误
我正在尝试使用SQLite-JDBC从 Java 中的 SQL 数据库读取数据,但是在向 a 填充参数PreparedStatement
时出现错误。代码的重要部分和错误如下。
第 28 行,即错误所在的行,在这个缩短的代码版本中就是这样说的p.setString(1, scanner.nextLine());
。
提前谢谢了。
java - 无法使用文件选择器访问 sqlite.db 文件(Java Swing 项目)
我无法从远程路径访问 .db 文件,例如
项目代码(不太复杂的简单连接)
当我尝试运行可执行 jar 时,它工作正常,当我尝试从 intellj 项目中使用时,这是我尝试运行可执行 jar 时遇到的错误
fnovel.db 文件是使用文件选择器选择的,我从中使用绝对路径。我不能包含 .db 文件,因为它的数据是从 Nox 模拟器中提取的。让我知道是否可以使用 PHP 完成相同的项目而没有任何错误我尝试使用 java 因为我无法在我想使用该程序时手动启动/停止 xampp
当我Class.forName("org.sqlite.JDBC");
在连接之前添加时java.lang.ClassNotFoundException: org.sqlite.JDBC
出现错误
java - 如何使用 Mybatis 和 SQLite 创建表?
我正在尝试使用 Mybatis 和 SQLite 创建一个新数据库和新表。我从之前的答案(1、2、3)中发现 Mybatis 确实支持使用 CREATE 和 ALTER 语句,方法是在 Mybatis 映射器语法中将它们标记为“UPDATE”。但是,这些问题/答案使用的是 Mapper XML,而我使用的是注释,也没有使用 SQLite。
一旦你打开一个新的连接,SQLite 就会创建一个新的数据库,所以数据库之前是否存在并不重要。创建一个大小为零字节的新数据库,这很好(SQLite 将 0 字节文件视为空数据库)。但是在创建表之后,我希望数据库大小不为零,因为它存储了该表的表结构。在运行我认为应该创建表的代码后(我正在根据这个答案检查我的语法),数据库大小仍然读取为 0 字节,这对我说实际上并没有创建表。我究竟做错了什么?
我的 Java 代码来测试这个场景:
我的映射器:
运行此代码后检查文件:
java - SQLite 不返回表中的所有记录 - SQLite-JDB
我有一个非常大的表(1074 条记录),我正在尝试使用以下查询访问它:
虽然这有效,但它只会返回一定数量的这些记录。我想得到所有这些。
我该怎么做呢?
谢谢
java - 如何读取将作为 MultipartFile 参数传递的 SQLite 文件?(在 java/kotlin 中)
我必须编写 REST API 来解析 SQLite 文件并将其数据解析并保存到服务器的 MySQL 数据库中。
SQLite 文件将作为 .zip 文件 ( MultipartFile
) 传递,因此我必须将其解压缩,然后将解压缩的文件作为 DTO 读取。
代码如下..
我发现有sqlite-jdbc
库(https://github.com/xerial/sqlite-jdbc),但它似乎不适用于我的情况。我想我需要 mmap I/O,但是有没有 JAVA 库呢?
谢谢!
java - Java应用程序无法在ubuntu中加载sqlite的本机库
我有一个 java 应用程序,它尝试连接到 sqlite3 db。但它无法连接到 sqlite3 并引发以下错误。该应用程序部署在 ubuntu 服务器上。Sqlite3 是在服务器上手动安装的。
Java 环境版本如下。openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~18.04-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode) Ubuntu version is 20.04 lts. sqlite3 版本是 3.11.0 2016-02-15 17:29:24 sqlite-jdbc 版本:'3.34.0'
错误是
它试图找到的目录和文件很好地存在于服务器中。我确保将目录的所有权限授予运行应用程序的用户。
请注意,相同的 java 应用程序在 ubuntu 版本为 16.04 lts 的另一台服务器上运行良好。这台服务器上安装的 java 版本是 openjdk 版本“1.8.0_292” OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10) OpenJDK 64-Bit Server VM (build 25.292-b10, mixed模式)。