Recent

Author Topic: Mercury Database Objects port  (Read 35577 times)

korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #15 on: November 30, 2009, 11:34:54 am »
unfortunately I don't have access to mac os, so if you have, you can try.
most of mdo code is not testet yet. so feel free to test any part of mdo.
Regards.
Michał

henriquemeira

  • Newbie
  • Posts: 1
Re: Mercury Database Objects port
« Reply #16 on: December 07, 2009, 02:02:42 pm »
Hi!
I'm working on free pascal port of Mercury Database Object (Firebird SQL/Interbase database  components).
First release (available here: http://terefere.org/mdo20091113.zip) work on windows only for now.
There are two packages: runtime (depends on FCL, no LCL required) and designtime (for lazarus).
Now i'm working on linux port (priority).
What not working yet: MDOSQLMonitor, master-detail
Please test and report

Michal

Hello Michal, thank you very much for this port. I don't try it yet, but I'm will do as soon.

Do you wanna to submite your codes to MDO repository and come to be a developer of the MDO Project? www.sf.net/projects/mdo

henrique.

patyi

  • Full Member
  • ***
  • Posts: 168
Re: Mercury Database Objects port
« Reply #17 on: December 20, 2009, 10:48:21 pm »
Hi all !

I'm very glad to see that MDO is alive ! I have a several question :
  - does MDO 64 bit compatible (Win, Linux) ?
  - does MDO support multitransactions (more than one transaction per connection) ?
  - does MDO support RETURNING clause of SQL statements, if yes how ?

Thanks, Patyi.

korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #18 on: December 21, 2009, 09:24:45 pm »
Hi, Patyi!

MDO support multitransaction. You can use many MDOTransaction per connection.

You can get RETURNING values from QInsert, Qupdate, QDelete properties of TMDODataSet. Eg:
Code: [Select]
MDODataSet.InsertSQL = 'insert into sometable (c1, c2) values (1, 2) returning c1';
....
MDODataSet.Append;
...
MDODataSet.Post;
MDODataSet.QInsert.Current.ByName('c1').AsInteger;

About 64 bit.. I don't known... I'll try in free time.

P.S.
You can get lastest MDO from official SVN repository (http://sf.net/projects/mdo)

laguna

  • Sr. Member
  • ****
  • Posts: 325
Re: Mercury Database Objects port
« Reply #19 on: January 05, 2010, 08:29:16 am »
Where can I download the latest version?

Unloaded from (svn-SF.NET) has a problem in the query component, it is initialized and block-Lazarus IDE

korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #20 on: January 08, 2010, 01:58:00 am »
Lazarus goes to infinite loop in function GetLookupRootForComponent (propedits.pas) when a parametr of this function is TCheckConstraints (db.pas).


propedits.pas
Code: [Select]
function GetLookupRootForComponent(APersistent: TPersistent): TPersistent;
var
  AOwner: TPersistent;
begin
  Result := APersistent;
  if Result = nil then
    Exit;

  repeat
    AOwner := TPersistentAccess(Result).GetOwner;
    if AOwner <> nil then
      Result := AOwner
    else
      Exit;
  until False;
end;

db.pas
Code: [Select]
function TCheckConstraints.GetOwner: TPersistent;

begin
  //!! To be implemented
end;

Should I report a bug... but is it a Lazarus bug?

korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #21 on: January 08, 2010, 02:13:09 am »
ups.
I miss something...

Code: [Select]
TMDOQuery = class
...
property Constraints stored ConstraintsStored;

my fault. fixed.

JD

  • Hero Member
  • *****
  • Posts: 1852
Re: Mercury Database Objects port
« Reply #22 on: January 13, 2010, 10:38:34 am »
I am using Firebird Embedded

When I try to put the component on a form, I get an error saying it can't find the Firebird dll in the path.

Is it refering to the system path? I already have the Firebird Dlls in the Lazarus directory & it's working fine with Zeos. Do I have to copy the dlls to the directory where I put the Mercury Database components?
Linux Mint - Lazarus 4RC3/FPC 3.2.2,
Windows - Lazarus 4RC3/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #23 on: January 13, 2010, 01:16:51 pm »
Do you have all dlls? (fbembed.dll, icudt30.dll, icuin30.dll, icuuc30.dll)

You should have thats dlls in lazarus directory and, if you want to debug your app, in your application directory.
Or put dlls somewhere in your search path (mayby system32)

JD

  • Hero Member
  • *****
  • Posts: 1852
Re: Mercury Database Objects port
« Reply #24 on: January 13, 2010, 01:53:18 pm »
I have all the dlls in the Lazarus directory & the application directories of any application I write that uses Firebird embedded. But I did not put them in the system32 directory because I write portable database applications. Putting dlls in the system directory makes my apps non-portable.

Is there any other way of getting round this problem?
Linux Mint - Lazarus 4RC3/FPC 3.2.2,
Windows - Lazarus 4RC3/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #25 on: January 13, 2010, 02:14:24 pm »
Wich version of fpc, lazarus and firebird dou you use?
I have lazarus svn 22483, fpc 2.5.1, firebird 2.1.3 and everything works.

laguna

  • Sr. Member
  • ****
  • Posts: 325
Re: Mercury Database Objects port
« Reply #26 on: January 21, 2010, 04:16:12 pm »
Components Query not install in form.

Lazarus suspend.


korba812

  • Sr. Member
  • ****
  • Posts: 464
Re: Mercury Database Objects port
« Reply #27 on: January 22, 2010, 10:38:48 pm »
you need latest version MDO from svn

inforplasta

  • New Member
  • *
  • Posts: 17
Re: Mercury Database Objects port
« Reply #28 on: April 16, 2010, 09:37:10 pm »
Has MDO any type of automatic conversion between UTF8 and ISO8859-1?

 

TinyPortal © 2005-2018