我正在使用UCanAccess驱动程序连接到MS Access数据库,而Knime软件没有提供安全性。现在,我需要执行相同的连接,但要使用由工作组安全文件(MDW)保护的MS Access DB(MDB文件)。
有人知道如何使用UCanAccess做到这一点吗?还是使用其他驱动程序?
从Power BI连接到该数据库时,我使用带有以下URL的odbc连接器
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-example
spec:
containers:
- name: test
image: nginx
dnsPolicy: "None"
dnsConfig:
nameservers:
- 1.2.3.4
searches:
- ns1.svc.cluster.local
- my.dns.search.suffix
options:
- name: ndots
value: "2"
- name: edns0
但是我不能在knime中使用odbc驱动程序。
对于UCanAccess,我需要类似的东西。我尝试这样做:
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\bsc_uob\Indicadores_UOB_cliente.mdb;SystemDB=C:\bsc_uob\Seguridad.mdw;
但是我得到了这个错误:
错误数据库连接器0:20执行失败:无法创建与数据库的连接:不支持解码。请选择一个支持读取当前数据库编码的CodecProvider。
答案 0 :(得分:1)
我没有Knime,但是我可以执行以下步骤来使LibreOffice Base打开受用户级安全性(ULS)保护的Access .mdb文件。
首先,我按照说明here进行了UCanAccess和LibreOffice Base的常规设置。我确认可以打开不受ULS保护的Access数据库文件。
然后,我将以下三(3)个JAR文件添加到UCanAccess lib\
文件夹:
所以它包含了
gord@gord-dv7-xubuntu0:~$ ll Downloads/JDBC/UCanAccess/lib
total 5580
drwxrwxr-x 2 gord gord 4096 Jan 17 05:54 ./
drwxrwxr-x 5 gord gord 4096 Jan 17 05:38 ../
-rw-rw---- 1 gord gord 2902942 Dec 1 2017 bcprov-jdk15on-1.52.jar
-rw-rw---- 1 gord gord 284220 Nov 16 2013 commons-lang-2.6.jar
-rw-rw---- 1 gord gord 62050 Sep 22 2015 commons-logging-1.1.3.jar
-rw-rw---- 1 gord gord 1146 Jan 16 17:40 CryptCodecOpener.jar
-rw-rw---- 1 gord gord 1467326 Oct 8 2013 hsqldb.jar
-rw-rw---- 1 gord gord 882908 Mar 10 2018 jackcess-2.1.11.jar
-rw-rw---- 1 gord gord 86730 Dec 1 2017 jackcess-encrypt-2.1.4.jar
然后我将;jackcessOpener=com.gordthompson.ucanaccess.crypto.CryptCodecOpener
添加到了我的连接网址中,使它变成了
jdbc:ucanaccess:///home/gord/Documents/protected.mdb;jackcessOpener=com.gordthompson.ucanaccess.crypto.CryptCodecOpener
我可以打开一个受ULS保护的.mdb文件。