问题标签 [ucanaccess]

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 回答
303 浏览

java - Can't move MS Access file after opening JDBC connection on it

I've got a Spring Batch job that is reading a specified Access database file. I'm using uncanaccess JDBC library to do so. Once the job exits, whether the job completes successfully or not, I need to have my application move the access file to another folder. Currently I'm getting a java.nio.file.FileSystemException that states it can't be moved because it's used by another process. I'm assuming the other process is due to the fact that the JDBC connection was opened.

Here's my main program (that runs the Spring job via Spring Boot):

My datasource configuration. I'm assigning to a static variable as well to attempt to close the connection once Spring exits.

I've tried the following:

Somehow, something still has a lock on that file. Has anyone encountered anything like this or have any ideas on how to force the true close of the file read?

SOLVED

jamadei's answer below helped me get to this solution. Relevant solution code:

0 投票
2 回答
294 浏览

java - net.ucanaccess.triggers.TriggerException:表不存在。:Z_2015_02_24

我在通过 UCanAccess 将记录插入表时遇到问题。我的插入看起来像这样:

插入将由标准触发java.sql.Statement

UCanAccess 在内部转换 sql。这是结果:

为什么UCanAccess 会在表名中添加“Z”?

我调试了代码,发现更改发生在UCanAccess 提供SQLConverter.escape(sql)的类中。SQLConverter

0 投票
2 回答
1415 浏览

java - 当列名包含撇号时出现“UcanaccessSQLException:意外标记”

我正在将现有程序从 JDBC-ODBC Bridge 转换为 UCanAccess。它已经工作了多年。Java 程序写入一个 MDB 文件。转换后,一个插入命令停止工作。
它抛出“net.ucanaccess.jdbc.UcanaccessSQLException:意外令牌:[”。

经过一些实验后,我确定问题是由名称中包含撇号的三列引起的。示例:[预定的采购订单放置日期]。显然 JDBC-ODBC 桥不在乎,但 UCanAccess 不在乎。

我有点受困于现有的 MDB 结构,或者我只是重命名这些字段。但是,如果我这样做,不知道有多少下游报告会被破坏。MDB 用于 Ad Hoc 报告。

这是问题的简化 SQL Select 版本。它会引发与插入相同的错误。

有没有办法“转义”撇号或重新配置 ucanaccess 以便驱动程序可以执行它们?

0 投票
1 回答
295 浏览

netbeans - 使用 JDBC 处理包含 Unicode(旁遮普语、印地语)数据和表/列名称的 Access 数据库

我的 Access 数据库有一个表,其中有一列包含旁遮普语文本。我正在尝试使用 JDBC 从 Java (NetBeans) 处理该数据库。

我的代码是:

0 投票
1 回答
345 浏览

java - UcanAccess 中的 DELETE 函数抛出奇怪的异常

自从 Java 1.8 中消除了 JDBC 桥(我们仍然感到悲痛)并迁移到 UcanAccess 以来,我一直在调试 SQL 代码,这些代码过去从未给我带来任何问题。其中一个语句是:

在 Access 本身中执行时,我绝对没有错误或问题。但是 Ucancess 抛出以下异常:

任何关于为什么的想法将不胜感激!

0 投票
1 回答
710 浏览

java - Java JTable 导出到现有的 MS Access 表

我在网上搜索并没有找到任何相关信息。我在 JTable 中有一组记录,我需要将这些记录导出到 MS Access 数据库中的现有表中。我需要能够将记录附加到此表,因为可能已经存在数据。

在过去的两天里,我一直在阅读和学习 Jackcess 和 UcanAccess 库。在这一点上,我完全被淘汰了,所以如果有人愿意发布一些代码,我将非常感激。

编辑:5:15 PM PT Monolithic 任务肯定。感谢大家的有益建议。我刚刚设法找到了解决方案。我读了一篇文章,帮助我了解 jTable 的内容实际上仅用于显示目的,而不是用于将数据集导出到其他数据库的理想来源。所以我使用Jackcess库中的ImportUtil直接将ResultSet导出到我的Access数据库中。答案一直摆在我面前:http: //jackcess.sourceforge.net/(这是从顶部算起的第四个代码示例)

所以这是我为此创建的 AccessExporter.java 类。它接受三个参数:ResultSet 对象、“TableName”和定义数据库文件所在位置的 File 对象。这是代码:

0 投票
2 回答
845 浏览

java - netBeans 和 ucanacces sql 异常仅从代码中调用 db

好吧,这有点奇怪,我成功安装了驱动程序,在服务选项卡中,我的数据库表正确显示,但是当我从代码中调用驱动程序时,我得到:

这是我的代码:

任何人都知道为什么我不能从代码访问?提前致谢!

0 投票
2 回答
439 浏览

java - inserting into access database apostrophe issue

I am trying to get some information of a website into an access database. I am creating a bean out of the information I get of the website and then send that bean into the database. the problem is that I've been blocked getting certain things into the database by an exception. the exception -

so ive checked whats in common with the values that are generating this exception. its an apostrophe. Every value that is calling an exception has an apostrophe in it and I can't really change it for now. so I've been wondering how do I make ucanaccess get that apostrophe into access without any exceptions?

this is the query statement

0 投票
4 回答
1245 浏览

java - Java 与 ms access 数据库交互 - ucanaccess

有没有其他方法可以在无限循环结束时正确关闭与 ms access 数据库的连接?因为如果将一条记录插入到表中,使用下面的代码,我看不到插入的新行/行。看起来数据库没有正确关闭或其他什么......不知道它为什么会这样。如果我手动关闭或打开数据库(我的程序仍在后台运行)一切正常 - 新行/行将出现在我的查询中。

0 投票
2 回答
89 浏览

java - SQL Query 使用大量资源但没有结果

今天是个好日子,

我最近不得不从 Access JET 引擎转移到 UcanAccess 引擎,我对“标准”SQL 查询不是很熟悉,没有使用“INNER JOIN”函数。我根据我之前从关于 DELETE 子句的问题中得到的一个答案编写了以下 SQL 查询,但是这个查询:

似乎什么都不做。我确实发现它可以将我的 CPU 提高到 96%,并将我的 RAM 提高到 1GB 以上,但这就像一个递归循环。

我想请你知道

a) 查询有什么问题 b) 在什么情况下查询会对您的处理器和内存执行上述操作

此查询(以 JET 格式)运行良好,整个查询只应返回 100-200 个结果。

任何帮助将不胜感激。谢谢