https://bugs.freedesktop.org/show_bug.cgi?id=56903

          Priority: medium
            Bug ID: 56903
                CC: [email protected], [email protected],
                    [email protected],
                    [email protected],
                    [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected]
          Assignee: [email protected]
            Blocks: 56902
           Summary: Moz-free Outlook Adress Book driver
          Severity: enhancement
    Classification: Unclassified
                OS: Windows (All)
          Reporter: [email protected]
          Hardware: All
            Status: UNCONFIRMED
           Version: unspecified
         Component: Database
           Product: LibreOffice

Make a LibreOffice connectivity/sdbc driver that does not use the in-tree
ancient Mozilla copy.

The easiest would probably just to access it over ADO (like we do for Microsoft
Access files). It needs Jet 4.0, which is bundled with some versions of
Windows, but not the most recent ones. But there is a redistributable that we
can bundle: "Microsoft Access Database Engine 2010 Redistributable"
http://www.microsoft.com/en-us/download/details.aspx?id=13255

To do that, just take inspiration of our drivers for "Microsoft Access" (.mdb)
and "Microsoft Access 2007" (.accdb): they just under the hood rewrite the SDBC
URL to the right SDBC-ADO URL, possibly set some parameters, and hand off the
connection to the SDBC-ADO driver. This would not need *any* mucking with SQL,
ADO/Jet handles it all.

The drives are declared in 
connectiviy/registry/ado/org/openoffice/Office/DataAccess/Drivers.xcu:

    <node oor:name="sdbc:ado:access:PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA
SOURCE=*" oor:op="replace">

and

    <node oor:name="sdbc:ado:access:Provider=Microsoft.ACE.OLEDB.12.0;DATA
SOURCE=*" oor:op="replace">

See also dbaccess/source/core/misc/dsntypes.cxx function
ODsnTypeCollection::extractHostNamePort

Then the SDBC-ADO driver recognises this ":access:" prefix specially:

connectivity/source/drivers/ado/AConnection.cxx function
OConnection::construct:

    if ( aDSN.compareToAscii("access:",7) == 0 )

I suggest to introduce an ":outlook:" prefix.


References:
I see several references to
http://msdn.microsoft.com/library/en-us/dnsmart00/html/sa00h12.asp but
it gives me a blank page right now.
Alternative references:
http://support.microsoft.com/kb/275262
http://www.codeproject.com/Questions/192505/Connection-String-for-Outlook-2010
http://www.freevbcode.com/ShowCode.asp?ID=3886
http://vbcity.com/forums/t/6878.aspx
http://msdn.microsoft.com/en-us/library/office/aa160682%28v=office.11%29.aspx



Another path would be to access Outlook directly over COM/... This would need
handling the SQL ourselves, like our mork driver does
(connectivity/source/drivers/mork)

There are examples (for VBA) there:

http://support.microsoft.com/kb/290792
http://support.microsoft.com/kb/290658
http://social.msdn.microsoft.com/forums/en-US/adodotnetdataproviders/thread/812d1fb3-a997-487e-9c4f-75227521d4b8
http://social.msdn.microsoft.com/Forums/en-US/vblanguage/thread/1cf06a86-2a28-4359-8046-6c5b5a5fd934

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to