Multivalue database access - non-SQL

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Multivalue database access - non-SQL

Norman Bauer
Hello,

I am beginning to dive into developing a module connecting to an IBM
UniVerse database. I'll first start by saying that this is the largest
undertaking I have ever had and so far the experience has been fun,
yet frustrating at times... I know wahhhh....

Before I get into the meat of it, I would really appreciate some
general pointers in developing to the DB API, pitfalls and the likes.
And also if anyone has worked on or developed one of the
non-relational database modules in the past your input would be
extremely valuable.

Oh and of course if there is anyone who may want to collaborate on
this project, I would welcome your contributions.

Best regards,

Norm
_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig
Reply | Threaded
Open this post in threaded view
|

Re: Multivalue database access - non-SQL

James William Pye-6
On Aug 26, 2009, at 10:20 AM, Norman Bauer wrote:
> Before I get into the meat of it, I would really appreciate some
> general pointers in developing to the DB API, pitfalls and the likes.

DB-API 2.0 spec is pretty much all there is, AFAIK. It's pretty  
straightforward...
There's also some unittests (for db-api 2) floating around that  
assumes an SQL-type database. However, I imagine it would be easy to  
modify to accommodate for your target.


I've never heard of UniVerse database, but I imagine that you'll  
probably want to implement a model that is consistent with the  
resource that you are attempting to interface with. Then, layer a DB-
API interface on top of that.
_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig
Reply | Threaded
Open this post in threaded view
|

Re: Multivalue database access - non-SQL

Paul Boddie
In reply to this post by Norman Bauer
On Wednesday 26 August 2009 19:20:21 Norman Bauer wrote:
>
> I am beginning to dive into developing a module connecting to an IBM
> UniVerse database. I'll first start by saying that this is the largest
> undertaking I have ever had and so far the experience has been fun,
> yet frustrating at times... I know wahhhh....

Didn't IBM get round to making an ODBC connector for UniVerse or continue the
plans to merge UniVerse with UniData (which did have such a connector, as I
recall)? UniData seemed very archaic when I had to do work against it, but
there was some kind of SQL/ODBC support, even though the documentation was
mediocre (again, as I recall).

Paul
_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig
Reply | Threaded
Open this post in threaded view
|

Re: Multivalue database access - non-SQL

M.-A. Lemburg
In reply to this post by Norman Bauer
Norman Bauer wrote:

> Hello,
>
> I am beginning to dive into developing a module connecting to an IBM
> UniVerse database. I'll first start by saying that this is the largest
> undertaking I have ever had and so far the experience has been fun,
> yet frustrating at times... I know wahhhh....
>
> Before I get into the meat of it, I would really appreciate some
> general pointers in developing to the DB API, pitfalls and the likes.
> And also if anyone has worked on or developed one of the
> non-relational database modules in the past your input would be
> extremely valuable.
>
> Oh and of course if there is anyone who may want to collaborate on
> this project, I would welcome your contributions.

Unless you have some specific need that requires writing a
native driver for UniVerse, I'd suggest to first have a look
at the UniVerse ODBC driver:

http://publib.boulder.ibm.com/epubs/pdf/25119340.pdf

The driver conforms to ODBC 2.0, so should work well with mxODBC
which supports drivers having ODBC conformance levels 2.0 - 3.5:

http://www.egenix.com/products/python/mxODBC/

Regards,
--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Aug 26 2009)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/
_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig
Reply | Threaded
Open this post in threaded view
|

Re: Multivalue database access - non-SQL

Vernon D. Cole
In reply to this post by Paul Boddie
Norman:
  You did not specify what platform you will be implementing this on.  I think everyone assumes Windows.

A quick google search leads me to:
http://gigamegatech.com/2008/09/16/u2-and-adonet-relatively-relational/
which mentions that IBM has done some recent work with an ADO.NET driver.

dotNET things can be conveniently run from IronPython.

The fepy project has several simple .NET based SQL modules which more-or-less follow the db API 2.0 standard and are written in pure IronPython.

There is also the adodbapi module which could be used as a Python code example. It fully implements the API, but I have not yet gotten around to forking a version which is specific to ADO.NET -- the existing code uses the COM interface to ADO. Microsoft fixed the last bug in the IronPython COM interface yesterday, which is what I have been waiting for before starting on another update. Some collaboration might be possible...

I have had good success talking to an AS400 DB2 database using adodbapi.
--
Vernon Cole

On Wed, Aug 26, 2009 at 2:23 PM, Paul Boddie <[hidden email]> wrote:
On Wednesday 26 August 2009 19:20:21 Norman Bauer wrote:
>
> I am beginning to dive into developing a module connecting to an IBM
> UniVerse database. I'll first start by saying that this is the largest
> undertaking I have ever had and so far the experience has been fun,
> yet frustrating at times... I know wahhhh....

Didn't IBM get round to making an ODBC connector for UniVerse or continue the
plans to merge UniVerse with UniData (which did have such a connector, as I
recall)? UniData seemed very archaic when I had to do work against it, but
there was some kind of SQL/ODBC support, even though the documentation was
mediocre (again, as I recall).

Paul
_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig


_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig
Reply | Threaded
Open this post in threaded view
|

Re: Multivalue database access - non-SQL

slestak
In reply to this post by Norman Bauer
Norm,

I have been looking at this as well.  Thinking about using swig to wrap
the Intercall library so code can be written independently of the ODBC
driver.

How far have you gotten so far.  I would definitely like to help on this.

Steve
_______________________________________________
DB-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/db-sig
Reply | Threaded
Open this post in threaded view
|

Re: Multivalue database access - non-SQL

master_shonuff
I've begun writing a native RPC connector for UniData/UniVerse and will post something as soon as it's worthy.

slestak wrote
Norm,

I have been looking at this as well.  Thinking about using swig to wrap
the Intercall library so code can be written independently of the ODBC
driver.

How far have you gotten so far.  I would definitely like to help on this.

Steve
_______________________________________________
DB-SIG maillist  -  DB-SIG@python.org
http://mail.python.org/mailman/listinfo/db-sig