Porting to other DBMSs

2002-08-29
2003-03-27
  • Espen Frimann Koren

    I've looked into porting to other DBMSs. I use Win32 only and PostgreSQL runs on Linux only? It is relatively easy to convert the compiere.sql file on the fly to both HSQL and MySQL, but there are other stuff that is not so easy (for instance doesn't MySQL support views (yet)), and HSQL doesn't supoort the [INNER | OUTER] JOIN clauses.

    Is it interesting for others that Compiere is ported to MySQL? What about making the system even more DBMS independent? There are many ways to do it, and the way it is done now is good, but not very flexible when trying to support another DBMS.

     
    • Jorg Janke

      Jorg Janke - 2002-09-03

      At this point, there are a few issues running PostgreSQL on Windows (CygWin), but it seems that they are adressing these issues.
      MySQL does not support triggers and would anyway require a license when running with Compiere.

       
    • Thomas Nichols

      Thomas Nichols - 2002-09-03

      Have you considered SAP DB - http://sapdb.org - or Firebird - http://firebird.sourceforge.net/ ? Both have Windows/Linux etc. ports, both have triggers, transactions (nested for SAP DB) etc. SAP DB even has an "Oracle compatibility" mode.

      Firebird is very solid, excellent tools available, active development. SAP DB seems to have the edge when it comes to features.

      Thoughts?
          - Thomas.

       
    • Thomas Nichols

      Thomas Nichols - 2002-09-03

      My apologies, it seems both SAPDB and Firebird are already under discussion. Does Compiere make extensive use of PL/SQL? Of nested transactions?
          - Thomas.

       
    • Stevyn R Dembo

      Stevyn R Dembo - 2002-09-09

      Having worked with many dbms over the years and porting between dbms' , my suggestion is to use
      an Object/Relational mapper to isolate the application from the database.  This simplifies and allows you to localizes rdbms vendor differences to the mapping layer.  Secondly, it has
      been my experience that you really only want the
      database to act as an object store and you want
      to use as little of the dbms functionality as possible.  I know it sounds odd, but you really want
      to avoid using stored procedures as that tends to move business object behaviour into the rdbms. 
      I find that targeting rdbms such as mySql or MsAccess during initial development helps to
      enforce this approach as they don't support stored procedures.  Then porting to any other
      database using the mapping layer becomes trivial.
      - Steve

       
    • Dru Jensen

      Dru Jensen - 2003-03-27

      How about Hibernate?  Hibernate is an open source project that does O/R mapping and has transparent persistence of objects using Reflections.

       

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks