Oj, I had updated the scp2 module, both the files you mentioned. I also do a build --all after my changes which must have done the registration. I still cannot see my driver loaded; as I said it wont find my driver name "org.openoffice.comp.connectivity.skeleton.SkeletonDriver" in its list of names in OSDBCDriverManager::implGetDriverForURL function.
Is there any way to debug this ? also for dbaccess code it have too many files with sdbc: what exactly am I looking for here ? thanks, Rohit On Wed, Mar 30, 2011 at 12:43 AM, Ocke Janssen <ocke.jans...@oracle.com>wrote: > 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 > -- ----------------------------------------------------------------- To unsubscribe send email to dev-unsubscr...@dba.openoffice.org For additional commands send email to sy...@dba.openoffice.org with Subject: help