Hi Rohit,
On 12.03.2011 07:17, Rohit Kulkarni wrote:
As a first step, I copied the folder DriverSkeleton to
"../connectivity/drivers/" .I created .xcu and .xml files.To run dmake I
must have makefile.mk <http://makefile.mk> in my driver folder. So, I
checked a makefile.mk <http://makefile.mk> in calc folder and made same
for DriverSkeleton driver. Also, I copied exports.dxp and .map files
from calc to DriverSkeleton.
Finally, my DriverSkeleton folder contains following files--
[root@localhost drivers]# cd DriverSkeleton/
[root@localhost DriverSkeleton]# ls
DriverSkeleton.map Makefile
propertyids.hxx SDriver.cxx
SResultSet.hxx SStatement.hxx
DriverSkeleton.xcu makefile.mk <http://makefile.mk>
SConnection.cxx SDriver.hxx
SResultSetMetaData.cxx DriverSkeleton.xml
OSubComponent.hxx SConnection.hxx
SPreparedStatement.cxx SResultSetMetaData.hxx
exports.dxp OTypeInfo.hxx
SDatabaseMetaData.cxx SPreparedStatement.hxx
SServices.cxx How_to_write_my_own_driver.txt
propertyids.cxx SDatabaseMetaData.hxx
SResultSet.cxx SStatement.cxx
Delete following files they are not longer needed because they already
exists in the connectivity module.
- Makefile (you replaced it with makefile.mk)
- propertyids.cxx, propertyids.hxx, OTypeInfo.hxx (these files are
located in connectivity/source/inc)
Please rename you xcu and xml file to a more explaining name like
VeryFastLdapDriver, just kidding but you should use a better name than
DriverSkeleton.xcu or xml :-) The name has to be unique as well as the
cxx files.
Best regards,
Ocke
After running dmake in the same folder it give me the following output--
../../../unxlngi6.pro/slo/SResultSet.o
<http://unxlngi6.pro/slo/SResultSet.o>: In function
`connectivity::skeleton::OResultSet::createArrayHelper() const':
SResultSet.cxx:(.text+0x439): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x49d): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x501): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x55f): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x5c3): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
../../../unxlngi6.pro/slo/SResultSet.o:SResultSet.cxx:(.text+0x627)
<http://unxlngi6.pro/slo/SResultSet.o:SResultSet.cxx:(.text+0x627)>:
more undefined references to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' follow
../../../unxlngi6.pro/slo/SResultSet.o
<http://unxlngi6.pro/slo/SResultSet.o>: In function
`connectivity::skeleton::OResultSet::getMetaData()':
SResultSet.cxx:(.text+0x1f9f): undefined reference to `vtable for
connectivity::skeleton::OResultSetMetaData'
../../../unxlngi6.pro/slo/SResultSet.o
<http://unxlngi6.pro/slo/SResultSet.o>: In function
`connectivity::skeleton::OPropertyMap::getPropMap()':
SResultSet.cxx:(.text._ZN12connectivity8skeleton12OPropertyMap10getPropMapEv[connectivity::skeleton::OPropertyMap::getPropMap()]+0x9b):
undefined reference to
`connectivity::skeleton::OPropertyMap::~OPropertyMap()'
../../../unxlngi6.pro/slo/SStatement.o
<http://unxlngi6.pro/slo/SStatement.o>: In function
`connectivity::skeleton::OStatement_Base::createArrayHelper() const':
SStatement.cxx:(.text+0x58d): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x5f1): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x658): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x6bf): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x726): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
../../../unxlngi6.pro/slo/SStatement.o:SStatement.cxx:(.text+0x78d)
<http://unxlngi6.pro/slo/SStatement.o:SStatement.cxx:(.text+0x78d)>:
more undefined references to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' follow
../../../unxlngi6.pro/slo/SPreparedStatement.o
<http://unxlngi6.pro/slo/SPreparedStatement.o>: In function
`connectivity::skeleton::OPreparedStatement::getMetaData()':
SPreparedStatement.cxx:(.text+0xc05): undefined reference to `vtable for
connectivity::skeleton::OResultSetMetaData'
collect2: ld returned 1 exit status
dmake: Error code 1, while making
'../../../unxlngi6.pro/lib/libDriverSkeletonli.so
<http://unxlngi6.pro/lib/libDriverSkeletonli.so>'
I am building the Skeleton Driver and I dont know how to solve this problem.
Could you please help to solve this problem? Am I doing anything wrong ?
Thanks,
Rohit
On Fri, Mar 11, 2011 at 11:35 AM, Ocke Janssen <ocke.jans...@oracle.com
<mailto:ocke.jans...@oracle.com>> wrote:
Hi Rohit,
On 10.03.2011 16:58, Rohit Kulkarni wrote:
Hi,
Thanks for your reply. I really appreciate the help.
I could find the skeleton files at the location you have
mentioned. Currently we are planning to develop the SDBC driver
which
will not be an extension. So, we will have to build the skeleton
driver
first, get it in the list of available drivers and then make it
work for
LDAP.
Could you please elaborate the point where you mentioned to search
for macab key on the website?
How does the open office dmake understand that it has to build
this new
driver?
I guess you place your driver in connectivity. So in that module you
find a file named prj/build.lst that is read when call the "build"
command. But for the start you could simply go in your folder and
call dmake. Each driver has a xcu file which must be "deliver"ed.
Which files are needed to copy/deliver is defined in prj/d.lst
So when you have built your driver with dmake you must call deliver.
After that go to the module scp2 and call "build" and deliver again.
Then you have to build the module instsetoo_native and voila your
OOo ist to install.
Below follows a simple list of todo's:
1. Create the driver files (Driver,Connection,Statement,ResultSet,...)
2. Create the xcu and xml file, take a look at the other drivers for
inspiration ;-)
3. dmake
4. Adjust d.lst to fit your new driver
5. deliver
6. Search for the word macab or jdbc in the module scp2 and create
the same for your new driver
7. build
8. deliver
9. go to instsetoo_native and build
10. Install your new OOo and enjoy your new driver.
11. Debug issues ;-)
- oj
Thanks,
Rohit
On Thu, Mar 10, 2011 at 12:38 PM, Ocke Janssen
<ocke.jans...@oracle.com <mailto:ocke.jans...@oracle.com>
<mailto:ocke.jans...@oracle.com
<mailto:ocke.jans...@oracle.com>>> wrote:
Hi Rohit,
First of all you have to decide if the driver should be an
extension
or not. I would first try it as extension because you could
look at
the mysql driver.
Not an extension:
The best and easiest way to start I guess is to simply copy the
skeleton files in a folder beside the other database drivers in
connectivity. Further on you should copy e.g. the macab.xml and
macab.xcu file and rename it to your driver in the same
directory.
Search with opengrok
http://svn.services.openoffice.org/opengrok/
the macab key inside the other projects e.g. scp2 to include the
files into the OOo installation. Build OOo.
As extension:
Here the best way is to look at the mysqlc/source where the
mysql
extension is build and copy the files you need to build the
oxt. But
please be aware to replace all occurrences of mysql with
your name ;-)
Best regards,
Ocke
On 09.03.2011 19:21, Ocke Janssen wrote:
Hi,
The driver can be found here
ooo\odk\examples\DevelopersGuide\Database\DriverSkeleton
- oj
PS: I'll write more tomorrow. ;-)
On 09.03.2011 16:37, Rohit Kulkarni wrote:
Currently I am writing an SDBC driver for LDAP
directories. I am
following the guidelines given at
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Database/SDBC_Driver
This includes writing Driver, connection, statement and
resultset
services.
I want to compile the skeleton driver code and have
an entry
in the list
of available drivers. This driver will be a pseudo
driver
and will not
have any functionality. This will help in developing the
actual driver.
I am not able to find skeleton driver related source
files.
I could
locate a folder named skeleton in
"/OOO320_m19/connectivity/workben/skeleton" but could not
find actual
source files.
Could anyone please give me any pointers regarding
1. Where can I find the source files for the
skeleton driver?
2. How to build a skeleton driver?
3. How to make an entry in available drivers list?
Thanks for your time. I really appreciate the help.
Regards,
Rohit
--
-----------------------------------------------------------------
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>
<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