问题标签 [jackcess]

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.

0 投票
1 回答
338 浏览

java - 我在哪里使用 Jackcess..mdb 数据库文件?

这可能是一个荒谬的问题,但我无法在任何地方找到答案......

我有一个名为 test.mdb 的 Microsoft Access 数据库。我使用 Jackcess 库尝试使用以下从官方文档中获取的代码打开

听起来很简单,但我究竟应该把我的“test.mdb”放在哪里?!

尝试放入资产文件夹并使用 file:///android_asset/test.mdb 但这没有帮助。我仍然得到FileNotFoundException

0 投票
1 回答
209 浏览

java - 尝试使用 Jackcess 和 JDBC 时抛出异常

在这里从有用的用户那里得到建议后,我对我的代码进行了一些更改。我缺少什么来加载这个驱动程序?有人建议我获取 Jackcess,并将其包含在我的库中。我正在使用 java 8 我没有过去

在它抛出一堆异常之前。

这些是我得到的异常错误:

0 投票
1 回答
300 浏览

java - Jackcess - 如何更改列名?

我有一张 Jackcess 桌子,一切正常。但我找不到任何关于如何在 Jackcess 表中更改列名的信息。

我想更改列名的原因是我有一个使用 Jackcess 转换为 Microsoft Access 的 ResultSet。列名为“RELATION”,但 Jackcess 转换它时,名称更改为“xRelation”。它一定是某种列入黑名单的词...

我想将列名改回“RELATION”并将“RELATION”本身更改为其他名称不是一种选择。

我怎样才能做到这一点 ?

0 投票
1 回答
377 浏览

java - 使用 Jackcess 检索存储在文本字段中的数值会产生 ClassCastException

我正在与 Jackcess 一起阅读和分类访问数据库。它只是意味着打开数据库,遍历每一行,并将满足某些条件的单个行数据打印到控制台。它工作正常,除了当我尝试读取数值时。我的代码如下。(此代码内置在 Swing GUI 中,并在按下 jbutton 时执行。)

运行代码时出现以下错误:

java.lang.ClassCastException:java.lang.String 不能转换为 java.lang.Double

以下条件看起来是引发错误的原因。

row.getDouble("CURRENTGAC")>=12.00

似乎从数据库中读取数据时,程序将所有内容都作为字符串读取,即使某些字段是数字的。我试图将此字段转换为双精度,但 java 似乎不喜欢这样。我曾尝试使用 Double.parseDouble() 和 Double.valueOf() 命令来尝试转换值(如此所述)但没有成功。

我的问题是,如何将这些字段转换为数值?是在尝试键入要走的路,还是有其他我不知道的方法?您还会在代码中注意到我创建了一个游标,但没有使用它。最初的计划是用它来浏览数据库,但我从 jackcess 网页上找到了一些示例代码,并决定改用它。不确定这是否是正确的举动,但这似乎是一个更简单的解决方案。任何帮助深表感谢。谢谢。

编辑

为了确保程序从我的数据库中读取字符串值,我输入了以下代码

row.get("CURRENTGAC").getClass().getName()

输出是 java.lang.String,所以这确认它是一个字符串。正如建议的那样,我更改了以下代码

这些更改对控制台的输出如下

|9.85| |11.76| |9.57| |12.98| |10.43| |13.08| |10.53| |11.46| ...

这个输出虽然看起来是数字,但仍然是字符串类型。因此,当我尝试使用条件语句(已在更新的示例代码中注释掉)运行它时,我仍然会遇到与之前相同的 java.lang.ClassCastException 错误。

0 投票
1 回答
360 浏览

java - 尝试使用 Jackcess 打开 Access 数据库文件时出现“空数据库文件”异常

Jackcess 加密似乎无法打开提供的文件。

这是代码。 我要做的是打开受密码保护的数据库并将指定的表导出为 .csv 文件。

以下是 我似乎无法弄清楚如何简单地打开要导出的文件的错误。

0 投票
1 回答
217 浏览

csv - 无法使用带有 jackcess 的数据类型将 DB 导出到 csv

所以我有一个程序可以选择一个数据库并将其导出为 csv。当我导出数据库时,制表符分隔不保留任何数据类型。理想情况下,csv 应该将文本字段保留为“####”、“##”,而不仅仅是####、##。尽管这些字段是“数字”,但它们不需要被视为数字。这种缺乏格式会导致排序出现一个小问题,我可以看到 jackcess 支持数据类型,但我需要使用光标来保留这些数据类型,还是我仍然可以使用 exportFile() 函数?

0 投票
1 回答
157 浏览

ucanaccess - 有没有办法在 UcanAccess 中强制从磁盘读取?

我正在构建一个需要与 VBasic 共存的 Java 应用程序。两者都使用单个 Access 数据库 (.mdb)

由于有时 VB 应用程序会写入我需要以编程方式从磁盘重新读取 mdb 的数据库。有没有办法做到这一点?这是 Jackcess 的责任还是 Ucanaccess?

我将 UcanAccess 与 Spring 和 Mybatis 一起使用。

0 投票
1 回答
211 浏览

ucanaccess - ucanaccess 奇怪的异常,我无法处理

我最近开始使用 ucanaccess 来连接访问数据库(显然),直到现在一切正常。我开始向数据库中插入大约 500,000 行......当我达到大约 400,000 时,程序停止......问题是我看不到异常!我看到了这个-

我看不出异常从哪里开始!它已经发生在我身上一次,但是在进行“压缩和修复”之后,它再次起作用了......现在它没有了。

有谁知道这是怎么回事?

0 投票
1 回答
294 浏览

java - 更改 Jackcess 的数据类型定义

我有一个程序构建了我的访问数据库并导出到 CSV。一切都很好,但是接收导出的 CSV 的程序有一些硬编码的正则表达式,无法处理某些数据类型的不同格式。

日期
:5 月 1 日星期五 00:00:00 EDT 2015
需求:2015 年 5 月 1 日 00:00:00

布尔值?
不确定这些字段是否为布尔值,但
IS:TRUE 或 FALSE
需要:0 或 1

货币
是:0
需要:0.00 美元

字符串
是:字符串
需要:“字符串”

在阅读完文档后,这一行突然出现在我身上“行值是强类型的 Java 对象。在 Jackcess 中,列类型由名为 DataType 的 Java 枚举表示。 ”非常感谢任何帮助。

0 投票
2 回答
421 浏览

java - 使用 rJava 从 R 中使用 Jackcess

我不太熟悉,Java但我尝试在R(我的最爱)中完成这项任务!

有这个Java库叫做 Jackcess. 我想连接到这个库并在其中打开一个 MS Access 2003.mdb文件。Jackcess 食谱告诉我使用这个库的第一步是:

或者正如@Gord 建议的那样,

但我被困在这第一步。

我已经安装了 Java 和 rJava 并设置了有关目录的所有内容。这是我的代码R

[编辑:我发现我有两个问题,一个解决了,一个仍然没有。] 到目前为止一切都很好,但从现在开始我有一些问题:

1]从Jackcess正确调用方法而没有签名不匹配,这些都不起作用:

我收到此错误:

好吧,我找到了这一步的答案,我只需要;在类定义字符串的末尾加上一个分号 ( )。

2]正确调用open方法,我的第一轮尝试:

我得到这个错误:

我用谷歌搜索发现 Jackcess 依赖于一些名为commons-logging 的库,因此下载并将其添加到类路径可以解决该问题

3] 正确调用open方法,我的第二轮尝试:with commons-logging in classpath

这给了我这个错误:

这个错误的任何想法?

[注意]:在我编辑之前建议了一些答案,所以它们现在可能看起来无关紧要,但我已经在上面解释的步骤中使用了它们。