Hello Oj,

I an not writing the sdbcx driver, also I can debug everything else but my
driver code. I am guessing I am not registering the driver properly.

I have written the .xml file for the driver and also made changes to
DataAccess.xcu. Should this be sufficient to register the driver? if not
what else do I need to do ?

Here are excerpts from those files:

============== DriverSkeleton.xml ================

<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE COMPONENTDESCRIPTION PUBLIC "-//W3C//DTD HTML 3.2//EN"
"module-description.dtd">
<module-description xmlns:xlink="http://www.w3.org/1999/xlink";>
        <module-name>   skeleton1       </module-name>
        <component-description>
                <Author>rohit</Author>

 <Name>org.openoffice.comp.connectivity.skeleton.SkeletonDriver</Name>
                <description>This library implements the database driver for
Skeleton.</description>
                <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
                <language>c++</language>
                <status value="alpha"/>

 <supported-service>com.sun.star.sdbc.Driver</supported-service>
                <service-dependency>    ...     </service-dependency>
        </component-description>
        <project-build-dependency>cppuhelper</project-build-dependency>
        <project-build-dependency>cppu</project-build-dependency>
        <project-build-dependency>sal</project-build-dependency>
        <project-build-dependency>vos</project-build-dependency>
        <runtime-module-dependency>cppuhelper</runtime-module-dependency>
        <runtime-module-dependency>cppu1</runtime-module-dependency>
        <runtime-module-dependency>sal1 </runtime-module-dependency>
        <runtime-module-dependency>vos</runtime-module-dependency>
</module-description>

============= DataAccess.xcu =================

<!DOCTYPE oor:component-data SYSTEM "../../../../component-update.dtd">
<oor:component-data oor:name="DataAccess"
oor:package="org.openoffice.Office" xmlns:oor="
http://openoffice.org/2001/registry"; xmlns:xs="
http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";>
  <node oor:name="UserDefinedDriverSettings">
       <node oor:name="Driver Skeleton" oor:op="replace">
           <prop oor:name="DriverTypeDisplayName">
               <value>Driver Skeleton</value>
           </prop>
           <prop oor:name="DriverPageDisplayName">
               <value>Driver Skeleton Page</value>
           </prop>
           <prop oor:name="DriverDsnPrefix">
               <value>sdbc:skeleton:</value>
           </prop>
       </node>
  </node>
  <node oor:name="ConnectionPool">
    <node oor:name="DriverSettings">
      <node
oor:name="org.openoffice.comp.connectivity.skeleton.SkeletonDriver"
oor:op="replace">
        <prop oor:name="DriverName">

<value>org.openoffice.comp.connectivity.skeleton.SkeletonDriver</value>
        </prop>
        <prop oor:name="Enable">
           <value>false</value>
        </prop>
        <prop oor:name="Timeout">
           <value>60</value>
        </prop>
      </node>
      <node oor:name="com.sun.star.comp.sdbcx.adabas.ODriver"
oor:op="replace">
        <prop oor:name="DriverName">
          <value>com.sun.star.comp.sdbcx.adabas.ODriver</value>
        </prop> ...........
          :

----------

there is also a DriverSkeleton.xcu as below:

============= DriverSkeleton.xcu =============
<oor:component-data oor:name="Drivers"
oor:package="org.openoffice.Office.DataAccess" xmlns:oor="
http://openoffice.org/2001/registry"; xmlns:xs="
http://www.w3.org/2001/XMLSchema";>
  <node oor:name="Installed">
    <node oor:name="sdbc:skeleton:*" oor:op="replace">
      <prop oor:name="Driver">

 <value>org.openoffice.comp.connectivity.skeleton.SkeletonDriver</value>
      </prop>
      <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
        <value xml:lang="en-US">Skeleton Driver</value>
      </prop>
      <node oor:name="Features">
        <node oor:name="EscapeDateTime" oor:op="replace">
          <prop oor:name="Value" oor:type="xs:boolean">
            <value>true</value>
          </prop>
        </node>
      </node>
    </node>
  </node>
</oor:component-data>

as for this I have updated the "build.lst and d.lst" files so that it builds
the "libDriverSkeletonli.so" file and copies it into the installation set.
But when I debug this I can see that my driver is not returned as part of
enumeration by "createContentEnumeration()"

Could you suggest any way I can fix this?
thanks in advance.

-Rohit

On Tue, Mar 29, 2011 at 12:06 AM, Ocke Janssen <ocke.jans...@oracle.com>wrote:

> Hi Rohit,
>
>
> On 28.03.2011 17:43, Rohit Kulkarni wrote:
>
>>    Hello,
>>    1) I built whole openoffice and installed it.(normal build i.e build
>>    --all)
>>    2) I built only dbaccess and connectivity modules with debug=true
>>    dbglevel=2
>>    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 located
> in basis-link/program they are located in your user folder
> 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
> "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 <ocke.jans...@oracle.com
>> <mailto:ocke.jans...@oracle.com>> 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=true and copied .so files to installation set.
>>
>>        I added a breakpoint at
>>        connectivity::skeleton::SkeletonDriver::acceptsURL then,
>>        run base -> select Skeleton Driver -> Datasource url window appears
>>        (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 above.
>>        Debugger stopped at breakpoint where I can see flat file
>> EDriver.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=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 the
>>    library was loaded. I'm not the gdb expert.
>>
>>    - oj
>>
>>
>>        Regards,
>>        Rohit
>>        On Tue, Mar 15, 2011 at 11:53 AM, Ocke Janssen
>>        <ocke.jans...@oracle.com <mailto:ocke.jans...@oracle.com>
>>        <mailto:ocke.jans...@oracle.com
>>        <mailto:ocke.jans...@oracle.com>>> 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
>>        d...@openoffice.org <mailto:d...@openoffice.org>
>>        <mailto:d...@openoffice.org <mailto:d...@openoffice.org>> 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 Hamburg
>>
>>            ORACLE Deutschland B.V. & Co. KG
>>            Hauptverwaltung: Riesstr. 25, D-80992 München
>>            Registergericht: Amtsgericht München, HRA 95603
>>
>>            Komplementärin: ORACLE Deutschland Verwaltung B.V.
>>            Rijnzathe 6, 3454PV De Meern, Niederlande
>>            Handelsregister der Handelskammer Midden-Niederlande, Nr.
>>        30143697
>>            Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander
>>        van der Ven
>>
>>
>>
>>            Oracle is committed to developing practices and products
>>        that help
>>            protect the environment
>>
>>            --
>>
>>          -----------------------------------------------------------------
>>            To unsubscribe send email to
>>        dev-unsubscr...@dba.openoffice.org
>>        <mailto:dev-unsubscr...@dba.openoffice.org>
>>        <mailto:dev-unsubscr...@dba.openoffice.org
>>        <mailto:dev-unsubscr...@dba.openoffice.org>>
>>
>>            For additional commands send email to
>>        sy...@dba.openoffice.org <mailto:sy...@dba.openoffice.org>
>>        <mailto:sy...@dba.openoffice.org <mailto:sy...@dba.openoffice.org
>> >>
>>
>>            with Subject: help
>>
>>
>>
>>    --
>>    -----------------------------------------------------------------
>>    To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
>>    <mailto:dev-unsubscr...@dba.openoffice.org>
>>    For additional commands send email to sy...@dba.openoffice.org
>>    <mailto:sy...@dba.openoffice.org>
>>    with Subject: help
>>
>>
>>
> --
> -----------------------------------------------------------------
> To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
> For additional commands send email to sy...@dba.openoffice.org
> with Subject: help
>
--
-----------------------------------------------------------------
To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
For additional commands send email to sy...@dba.openoffice.org
with Subject: help

Reply via email to