office-gobmx/connectivity/registry
jucasaca 7edca7dc74 tdf#158056 Connect to MS Access .mdb files by mean of ACE.OLEDB.12.0 provider
* Modify the code so that all connections to MS Access files, both .mdb
and .accdb are made with the provider "Microsoft.ACE.OLEDB.12.0".
* Remove all references to the "Microsoft.Jet.OLEDB.4.0" provider to clean
up the code.
* Leave only one entry "Microsoft Access" in the Connection Wizard, which
would work for .mdb and .accdb files.
* Remove the entry "Microsoft Access 2007" from the Connection Wizard,
since it is no longer needed.

Change-Id: If523712d071199d61e0c994b35291d3a69246ad1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165756
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-18 16:19:04 +02:00
..
ado/org/openoffice/Office/DataAccess
calc/org/openoffice/Office/DataAccess
dbase/org/openoffice/Office/DataAccess
evoab2/org/openoffice/Office/DataAccess
firebird/org/openoffice/Office/DataAccess
flat/org/openoffice/Office/DataAccess
hsqldb/org/openoffice/Office/DataAccess
jdbc/org/openoffice/Office/DataAccess
macab/org/openoffice/Office/DataAccess
mysql_jdbc/org/openoffice/Office/DataAccess
mysqlc/org/openoffice/Office/DataAccess
odbc/org/openoffice/Office/DataAccess
postgresql/org/openoffice/Office/DataAccess
writer/org/openoffice/Office/DataAccess
README

xcu files are made from several sections, the main ones are: Properties and Features

Property: actual setting with its underlying type and its default value

Feature: a boolean that says "let the user change that setting in the Advanced Settings UI"

This is checked by using officecfg/registry/schema/org/openoffice/Office/DataAccess/Drivers.xcs
and configmgr mechanism
There are two kinds of properties named "Value":
- first one is in "Property" groups and has a static oor:type="any" (can take on boolean, int and other types of values)
- second one is in "Feature" groups and has a static oor:type="boolean" so can take on only boolean values.

Each node in Feature section must have an equivalent in Property section
Most of the time the node name of both sections should be equal,
however there are 5 known exceptions (more?):
- "UseBracketedOuterJoinSyntax" feature => "EnableOuterJoinEscape" property
- "UseDOSLineEnds" feature => "PreferDosLikeLineEnds" property
- "UseSQL92NamingConstraints" feature => "EnableSQL92Check" property
- "AppendTableAliasInSelect" feature => "AppendTableAliasName" property
- "UseKeywordAsBeforeAlias" feature => "GenerateASBeforeCorrelationName"

See dbaccess/source/ui/dlg/DbAdminImpl.cxx, ODbDataSourceAdministrationHelper constructor, eg:
m_aIndirectPropTranslator.emplace( <ID>, <property> )
and dbaccess/source/ui/misc/dsmeta.cxx, lcl_getFeatureMappings() function, eg:
{ <ID>, <feature> }