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