[unixODBC-support] Implementing an ODBC *server*?
nick.gorham at easysoft.com
Mon Oct 17 15:29:12 BST 2005
Peter Valdemar Mørch wrote:
> Hi there,
> We have an application running on Linux where we would like to export
> data via ODBC - primarily so that MS Office users can create "external
> data" links to our application and have the refresh automatically.
> The easy way is to just e.g. put all the data in a MySQL database and
> export it via ODBC, but that is not practical given the large amounts
> of data involved and the fact that they are stored elsewhere in other
> formats already.
> How does one implement an ODBC server? Can/will unixODBC help with this?
> Ideally what we're hoping for is that a library will do all the
> encoding/decoding, SQL parsing etc. and allow us to register callback
> routines that get called when someone issues an SQL query against "us".
> Do we have other options? I guess one could start reading the ODBC
> specs, and start implementing ODBC from the ground up, but that tends
> to be the hard way! :-D
> Our application is written in perl but we're not frightened if we have
> to write some C, C++, java, python or whatever is required. We'd
> prefer to stay in perl, however.
> Any good ideas?
> Thank you for reading this far.
Basically what I think you are talking about, is writing a ODBC driver
for your application. This can be somewhere between a medium and huge
task. Basically the ODBC part is the simple part, the code for SQP in
the distribution will give you some hints. But the time consuming part
is creating a SQL parser, and execution layer.
Putting my commercial hat on, Easysoft do have a SQLEngine product that
could help with that, just requiring a layer on top of whatever data
store your application needs, but thats a bit beyond the scope of this list.
Feel free to contact Easysoft directly if this may be of interest to you...
At the end of the day, its down to how much work you want to do, over
how long, and how complete you need to driver to be.
More information about the unixODBC-support