Ошибки при попытке открыть базу данных Access 97 с помощью UCanAccess 5.0.1 и Jackcess, слияние почты с LibreOffice

Недавно я сдавал экзамен по информационным технологиям, в котором задавался вопрос об объединении почты с использованием LibreOffice с ОС Linux и базе данных Access 97 в качестве источника данных. В вопросе говорилось, что нет соединителя для базы данных Access 97, который правильно работает в Linux.

Среди вариантов, которые мне нужно было выбрать, одним из них был экспорт данных Access в файл CSV, а затем определение источника данных в LibreOffice для файла CSV.

Другой заключался в том, чтобы определить источник данных LibreOffice непосредственно для Access.

У меня были некоторые воспоминания из прошлого, когда я использовал UCanAccess для извлечения некоторых данных из базы данных Access 2000, поэтому даже было сказано, что нет подходящего коннектора, я выбрал второй вариант, подключить LibreOffice напрямую к Access.

Судя по всему, правильным ответом было экспортировать в CSV и использовать его.

Мне любопытно, и у меня есть база данных Access 97 из образцов Office 97. Название (на испанском языке) Neptuno.mdb

Когда я пытаюсь открыть его в console.sh UCanAccess, я получаю следующее:

    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

Образец базы данных часто использует испанские символы (ñ, á, é, í, ó, ú и т. д.). По этим ссылкам, среди прочего:

SO link1 SO link2

Я адаптировал фрагмент кода для создания файла jar:

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, 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, и добавлю «; jackcessOpener = prueba.ucanaccess.CharsetOpener» в строку подключения LibreOffice, мне удастся увидеть в таблице LibreOffice и представлениях, написанных правильно, а также записи.

Итак, дело в ошибках, которые также появляются, когда я создаю файл odb, связанный с файлом mdb, и, видимо, пропускаю загрузку таблиц.

Кто-нибудь может пролить свет на это? Заранее спасибо.


person WordCrafter    schedule 03.06.2021    source источник