问题描述
最近,我参加了一个 IT 考试,有一个关于使用 LibreOffice 和 Linux 操作系统合并邮件的问题,以及作为数据源的 Access 97 数据库。该问题指出,没有连接到可在 Linux 上正常工作的 Access 97 数据库的连接器
在我不得不选择的选项中,其中之一是将 Access 数据导出到 CSV 文件,然后在 LibreOffice 上针对 CSV 文件定义数据源。
另一个是直接针对 Access 定义 LibreOffice 数据源。
我有一些过去使用ucanaccess从Access 2000数据库中提取一些数据的记忆,所以即使说没有合适的连接器可用,我还是选择了第二个选项,将LibreOffice直接连接到Access。>
显然,正确的答案是导出为 CSV 并使用它。
我很好奇,我从 Office 97 示例中获得了一个 Access 97 数据库。名称是(西班牙语)Neptuno.mdb
当我尝试在 ucanaccess 的 console.sh 中打开它时,我得到的是以下内容:
WARNING:UnkNown expression: GenUniqueID() (default value of column IdProducto table Detalles de pedidos) Error occured at the first loading attempt of Cat�logo Converted view was :CREATE VIEW "CAT�logo" AS SELECT disTINCT Categor�as.NombreCategor�a,Categor�as.Descripci�n,Categor�as.Imagen,Productos.IdProducto,Productos.NombreProducto,Productos.CantidadPorUnidad,Productos.PrecIoUnidad FROM "CATEGOR�AS" INNER JOIN Productos ON Categor�as.IdCategor�a = Productos.IdCategor�a WHERE (((Productos.Suspendido)=false)) Error message was :palabra no esperado: � Loaded Tables: Categor�as,Clientes,Compa��as de env�os,Empleados,Pedidos,Proveedores,Productos,Detalles de pedidos Loaded Queries: Detalle de pedidos con descuento,Lista de productos actual,Los diez productos m�s caros,Productos sobre el precio medio,Subtotales por pedido Loaded Procedures: Loaded Indexes: Index Unique on Categor�as Columns: (NombreCategor�a),Primary Key on Categor�as Columns: (IdCategor�a),Primary Key on Clientes Columns: (IdCliente),Primary Key on Compa��as de env�os Columns: (IdCompa��aEnv�os),Primary Key on Detalles de pedidos Columns: (IdPedido,IdProducto),Primary Key on Empleados Columns: (IdEmpleado),Primary Key on Pedidos Columns: (IdPedido),Primary Key on Productos Columns: (IdProducto),Primary Key on Proveedores Columns: (IdProveedor),FK on "DETALLES DE PEDIDOS" Columns: (IdPedido) References PEDIDOS Columns: (IdPedido),FK on "DETALLES DE PEDIDOS" Columns: (IdProducto) References PRODUCTOS Columns: (IdProducto),FK on PEDIDOS Columns: (IdCliente) References CLIENTES Columns: (IdCliente),FK on PEDIDOS Columns: (FormaEnv�o) References "COMPA��AS DE ENV�OS" Columns: (IdCompa��aEnv�os),FK on PEDIDOS Columns: (IdEmpleado) References EMPLEADOS Columns: (IdEmpleado),FK on PRODUCTOS Columns: (IdCategor�a) References "CATEGOR�AS" Columns: (IdCategor�a),FK on PRODUCTOS Columns: (IdProveedor) References PROVEEDORES Columns: (IdProveedor),Index on Clientes Columns: (Ciudad),Index on Clientes Columns: (C�dPostal),Index on Clientes Columns: (NombreCompa��a),Index on Clientes Columns: (Regi�n),Index on Empleados Columns: (Apellidos),Index on Empleados Columns: (C�dPostal),Index on Pedidos Columns: (C�dPostalDestinatario),Index on Pedidos Columns: (FechaEnv�o),Index on Pedidos Columns: (FechaPedido),Index on Productos Columns: (NombreProducto),Index on Proveedores Columns: (C�dPostal),Index on Proveedores Columns: (NombreCompa��a) Cannot load view Facturas : palabra no esperado: � Cannot load view Lista alfab�tica de productos : palabra no esperado: � Cannot load view Resumen de ventas por trimestre : palabra no esperado: � Cannot load view Filtro facturas : usuario no tiene privilegios suficientes o objeto no enconTrado: FACTURAS Cannot load view Ventas por categor�a para 1995 : palabra no esperado: � Cannot load view Pedidos trimestrales por producto : palabra no esperado: # Cannot load view Consulta de pedidos : palabra no esperado: � Cannot load view Pedidos trimestrales : palabra no esperado: � Cannot load view Productos por categor�a : palabra no esperado: � Cannot load view Cat�logo : palabra no esperado: � Cannot load view Ventas por a�o : usuario no tiene privilegios suficientes o objeto no enconTrado: ParaMETERS Cannot load view Clientes y proveedores por ciudad : palabra no esperado: � Cannot load view Totales de ventas por cantidad : palabra no esperado: � Cannot load view Ventas de empleado por pa�s : usuario no tiene privilegios suficientes o objeto no enconTrado: ParaMETERS Cannot load view Ventas por categor�a : palabra no esperado: � Cannot load view Ventas de productos para 1995 : palabra no esperado: � Cannot load view Resumen de ventas por a�o : palabra no esperado: � ucanaccess> copyright (c) 2021 marco Amadei ucanaccess version 5.0.1 You are connected!! Type quit to exit Commands end with ; Use: export [--help] [--bom] [-d ] [-t ] [--big_query_schema ] [--newlines] ; for exporting the result set from the last executed query or a specific table into a .csv file
示例数据库经常使用西班牙语字符(ñ、á、é、í、ó、ú 等)。按照这些链接,其中包括:
public class Pruebaucanaccess {
public static void main(String[] args) {
try {
String base = "/home/some_username/access/office97_samples/NEPTUNO.MDB";
java.util.Properties propiedades = new java.util.Properties();
propiedades.put("jackcessOpener","prueba.ucanaccess.Charsetopener");
Connection conn= DriverManager.getConnection(String.format("jdbc:ucanaccess://%s",base),propiedades);
try (ResultSet rsMD = conn.getMetaData().getTables(null,null,null)) {
while (rsMD.next()) {
String tblName = rsMD.getString("TABLE_NAME");
System.out.println(tblName);
}
}
Statement st =conn.createStatement();
ResultSet rs=st.executeQuery("SELECT * FROM Clientes");
while (rs.next()) {
System.out.println(
rs.getString("NombreCompañía")
+ "," + rs.getString("NombreContacto")
+ "," + rs.getString("Dirección")
+ "," + rs.getString("Ciudad")
+ "," + rs.getString("CódPostal")
+ "," + rs.getString("País"));
}
conn.close();
} catch (sqlException e) {
// Todo Auto-generated catch block
e.printstacktrace();
}
}
}
而且我可以看到表名并包含正确拼写(即,没有 ? 字符)。如果我在 LibreOffice 类路径中包含我生成的 jar,并将“;jackcessOpener=prueba.ucanaccess.Charsetopener”添加到 LibreOffice 连接字符串,我设法在 LibreOffice 表和视图中看到拼写正确,并记录。
所以,重点是错误,当我创建一个链接到 mdb 的 odb 文件时也会出现错误,显然,错过加载表
任何人都可以对此有所了解?提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)