Hello Rohit,

On 30.03.2011 03:01, Rohit Kulkarni wrote:
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 ?
Do have changed the module scp2 and added lines like
STD_LIB_FILE(gid_File_Lib_Mysql,mysql) in file_library_ooo.scp
and
gid_File_Lib_Mysql, in module_hidden_ooo.scp ?

You have to build OOo instset because your registration is done there.
If the driver should not be an extension than we you could remove your dataaccess.xcu changes and adjust the code in dbaccess (look for sdbc: )

Best regards,

oj

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
<mailto: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/*>
        <http://unxlngi6.pro/lib/*> and ../dbaccess/unxlngi6.pr/lib/*
        <http://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>
        <mailto:ocke.jans...@oracle.com
        <mailto:ocke.jans...@oracle.com>>> wrote:

            Hi,


            On 26.03.2011 06 <tel:26.03.2011%2006>: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>>
        <mailto: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>>
        <mailto: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>>
        <mailto: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>>
        <mailto: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>
        <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

Reply via email to