Re: Help Required In Writing a New SDBC Driver For LDAP

Ocke Janssen <[email protected]> Tue, 29 Mar 2011 07:06:02 +0200
Newsgroups gmane.comp.openoffice.dba.devel
Message-ID <[email protected]>
Hi Rohit,

On 28.03.2011 17:43, Rohit Kulkarni wrote:
>     Hello,
>     1) I built whole openoffice and installed it.(normal build i.e buil=
d
>     --all)
>     2) I built only dbaccess and connectivity modules with debug=3Dtrue
>     dbglevel=3D2
>     3) Copied .so files from ../connectivity/unxlngi6.pro/lib/*
>     <http://unxlngi6.pro/lib/*> and ../dbaccess/unxlngi6.pr/lib/*
>     <http://unxlngi6.pr/lib/*>  to ../../openoffice3/basis-link/program=
/
>     4) Now I set breakpoint to " b
>     connectivity::flat::ODriver::acceptsURL "
>     5) Run base through gdb.
>     6) Execution stopped at breakpoint, whatever I select flat or
>     skeleton driver or any other from available driver list.
>     7) When I set breakpoint at " b
>     connectivity::skeleton::SkeletonDriver::acceptsURL ", it wont stop
>     at breakpoint.
>     8) That means execution of program never goes to SDriver.cxx
>     (skeleton driver file) file which has acceptsURL function.
>
>     The things I have noticed after some more debugging in gdb are --
>
>     1) I saw the function named OSDBCDriverManager::bootstrapDrivers()
>     2) I think this is the function where it populates the list of all
>     drivers using
>     " createContentEnumeration " function.
>     3) And this function is not returning my driver.
>     4) I saw this after watching the value of " aDriverDescriptor "
>     variable which is used for pushback in vector " m_aDriverBS " , I
>     saw various strings for example , for flat it is
>     "com.sun.star.comp.sdbc.flat.ODriver" but not my driver name.
>
> What do I need to do so that createContentEnumeration will return my
> driver object in the list ?

Do you register the driver as an extension? If so the lib are not=20
located in basis-link/program they are located in your user folder=20
3/user/uno_package/cache/uno_package/...
That would also explain why you can't set any breakpoint.
Another reason could be that your driver doesn't support=20
"com.sun.star.sdbc.Driver" or the driver was not registered.

If that doesn't work I could look at the code if you want to.

Best regards,

Ocke


>
> Regards,
> Rohit
>
>
> On Mon, Mar 28, 2011 at 1:16 PM, Ocke Janssen <[email protected]
> <mailto:[email protected]>> wrote:
>
>     Hi,
>
>
>     On 26.03.2011 06:47, Rohit Kulkarni wrote:
>
>         Hello,
>         I have successfully built skeleton driver and I can see it in
>         available
>         list.
>         Now , I tried to debug it using gdb. For this I followed
>         instructions on
>         http://wiki.services.openoffice.org/wiki/Debugging
>         Build using debug=3Dtrue and copied .so files to installation s=
et.
>
>         I added a breakpoint at
>         connectivity::skeleton::SkeletonDriver::acceptsURL then,
>         run base -> select Skeleton Driver -> Datasource url window app=
ears
>         (typed any string in it) -> saved ->finish
>         In this process debugger wont stop at breakpoint.
>
>         Another thing is that I added breakpoint at
>         connectivity::flat::ODriver::acceptsURL then, all same steps ab=
ove.
>         Debugger stopped at breakpoint where I can see flat file EDrive=
r.cxx
>         code with acceptsURL function.
>
>         So, do you have any idea why it wouldn't call
>         connectivity::skeleton::SkeletonDriver::acceptsURL function?
>
>     May be you copied the wrong files or you built them not with debug=3D=
t
>     ? When you can set a break point for flat it should also work for
>     your driver. No guess so far. Or may be set the break point when th=
e
>     library was loaded. I'm not the gdb expert.
>
>     - oj
>
>
>         Regards,
>         Rohit
>         On Tue, Mar 15, 2011 at 11:53 AM, Ocke Janssen
>         <[email protected] <mailto:[email protected]>
>         <mailto:[email protected]
>         <mailto:[email protected]>>> wrote:
>
>             On 14.03.2011 18:45, Rohit Kulkarni wrote:
>
>                 I could successfully built the skeleton driver and now =
I
>         can see
>                 it in
>                 the list of available drivers as well!
>                 Thanks a lot for your help. I really appreciate it.
>
>             :-)
>
>
>                 I have a quick question.
>
>
>
>                 Any idea on how to solve this?
>
>             No, sorry. I think that's a question for the normal
>         [email protected] <mailto:[email protected]>
>         <mailto:[email protected] <mailto:[email protected]>> list.
>         May be a build
>
>             problem or a bug.
>
>
>                 Also, Now, if I make any changes to the skeleton driver=
,
>         do I
>                 have to
>                 build and install open office every time?
>
>             No, just replace your copy of the .so file in your office
>         installation.
>
>             - oj
>
>
>             --
>
>
>             Ocke Janssen | Software Developer
>             Phone: +40 23646500
>             Oracle Office
>
>             ORACLE Deutschland B.V. & Co. KG | Nagelsweg 55 | 20097 Ham=
burg
>
>             ORACLE Deutschland B.V. & Co. KG
>             Hauptverwaltung: Riesstr. 25, D-80992 M=FCnchen
>             Registergericht: Amtsgericht M=FCnchen, HRA 95603
>
>             Komplement=E4rin: ORACLE Deutschland Verwaltung B.V.
>             Rijnzathe 6, 3454PV De Meern, Niederlande
>             Handelsregister der Handelskammer Midden-Niederlande, Nr.
>         30143697
>             Gesch=E4ftsf=FChrer: J=FCrgen Kunz, Marcel van de Molen, Al=
exander
>         van der Ven
>
>
>
>             Oracle is committed to developing practices and products
>         that help
>             protect the environment
>
>             --
>
>           -------------------------------------------------------------=
----
>             To unsubscribe send email to
>         [email protected]
>         <mailto:[email protected]>
>         <mailto:[email protected]
>         <mailto:[email protected]>>
>
>             For additional commands send email to
>         [email protected] <mailto:[email protected]>
>         <mailto:[email protected] <mailto:[email protected]=
rg>>
>             with Subject: help
>
>
>
>     --
>     -----------------------------------------------------------------
>     To unsubscribe send email to [email protected]
>     <mailto:[email protected]>
>     For additional commands send email to [email protected]
>     <mailto:[email protected]>
>     with Subject: help
>
>

--
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help