Board index » delphi » Re: Database components

Re: Database components


2005-06-28 09:00:00 AM
delphi205
Quote
NexusDB isn't a connectivity platform (like datasnap), but you can use any
connectivity solution you like with it; plus it does have its own tcp-ip
(and others) communications mechanism that you can plug into; plus they
will
have ODBC and ADO.NET drivers.
Dennis, we already went through this with 'KingOrmon' on another thread and
RemObjects/Datasnap and kbmmw were recommended, among other solutions.
'KingOrmon' decided he liked kbmmw because he thought RO/DA was too
expensive.
In my view, he has already been recommended the range of available n-tier
frameworks, and the only issue is which data access components he wants to
use for each specific database server. He listed Oracle, MS SQL Server, etc
as the db servers he wanted to use, but did not specify any criteria for
what he wanted of the databse components, whether he just wanted access, or
he wanted maximum speed. Maybe ADO meets his needs. ODAC, SDAC etc are
probably great, but since I find communication with 'KingOrmon' somewhat
difficult since he does not specify what he wants, criticises and questions
the solutions proposed, and does not acknowledge or thank contributors to
his threads, it won't be me who recommends them to him.
Regards,
Lauchlan M
 
 

Re: Database components

I am sorry,
I want apologize you, Lauchlan M, and everybody that I could have offended
I am interested in all your posts:
I rewrite my necesities:
Support complex relationships (master/details) like datasnap.
ClientDataSet components
Speed is important. DataSnap is slow with multiple relationships
I use ADO components (in server layer)
C++Builder 6 Pro support
DataBases: MSDE2000, SQLSERVER, ORACLE 9i, MYSQL 4
thank you.
sorry for mi english.
 

Re: Database components

Oh, I see, you are literally looking for *database*components*...
Oh Ok. I have been happy with the Delphi 7 ADO components as the method of
connectivity to all the "major" DB back-ends. I know there are ADO
replacements out there, but I personally have never needed to use them...
-- d
---------------------------------------------------
Need to see what's happening?
Check out the Delphi Community Blog Aggregator
delphi.flashblogger.com
"KingOrmon" <XXXX@XXXXX.COM>writes
Quote
I am sorry,

I want apologize you, Lauchlan M, and everybody that I could have offended
I am interested in all your posts:

I rewrite my necesities:

Support complex relationships (master/details) like datasnap.
ClientDataSet components
Speed is important. DataSnap is slow with multiple relationships
I use ADO components (in server layer)
C++Builder 6 Pro support
DataBases: MSDE2000, SQLSERVER, ORACLE 9i, MYSQL 4

thank you.
sorry for mi english.


 

Re: Database components

Quote
I am sorry,

I want apologize you, Lauchlan M, and everybody that I could have offended
no problems. And I understand how dfficult communication might be if English
is not your{*word*128}language.
Quote
I rewrite my necesities:

Support complex relationships (master/details) like datasnap.
ClientDataSet components
Speed is important. DataSnap is slow with multiple relationships
both kbmmw and RemObjects/DataAbstract are 'DataSnap replacements'. They
don't use ClientDataSets, but use quivalents (eg the ClientDataTable in
DataAbstract).
Quote
I use ADO components (in server layer)
C++Builder 6 Pro support
DataBases: MSDE2000, SQLSERVER, ORACLE 9i, MYSQL 4
ok, you can continue to use ADO, but if you want more speed, you could look
at www.crlab.com/products.html , in particular ODAC, SDAC and MyDAC.
These support all the databases you mentioned, and are optimised for speed.
I have not used these myself, but they have been highly recommended.
For SQL Server and MSDE, there is also OLEDBDirect,
www.oledbdirect.com/index.php . I have used this, and the speed gains
were impressive. I gather SDCA/ODAC/MyDAC offer similar gains, as they also
target direct access to the OLEDB layer.
CoreLabs also offer classes for drect C++ access to Oracle.
Lauchlan M
 

Re: Database components

Hi Dmitry,
Quote

AnyDAC debug monitor (like a SQL Monitor in Delphi) uses
TCP/IP as message transport. And uses Indy to implement that.
But monitoring may be completely turned off writing in daAD.inc
{.$define AnyDAC_MONITOR}
Ok
Quote
>Why have you chosen Indy and not Synpase as a middleware layer.
>Synapse works well with FP/Lazarus.

I have choosed Indy, because it comes with Delphi. But as i see
now, that does not solve problem at all ! Indy versions are not
compatible - not by interface, not by package names. Also, Indy
is enough fat for the functionality AnyDAC need.
So, if Synapse versions are compatible, has constant package
names, has less fat code and has AnyDAC compatible license
(free), then, probably, i should move to Synapse.
You should really have a look at Synapse. Many developers have switched to
Synapse because they feel it is easier and more powerful for some
applications. Also, plain classes, no components. Easier to install... You
can google the newsgroup for other opinions.
From the site www.ararat.cz/synapse/ : " This project is freeware and
open source under modified BSD style license!"
Also, from the site : also support for "Delphi 3-7, C++Builder, Kylix 1-3 or
FreePascal 1.0.10 - 1.9.6".
Quote
>3. I also have seen that you don't intend PostgreSQL support for now.
>Why is that? PostgreSQL is very strong on BSD, Linux and the new 32
>bit version for Windows is really good.

Currently i have demands for DBMSs support from AnyDAC
users in descending order of frequence:
- IB/FB
- Postgre SQL
- Mimer SQL / Nexus DB

So, at first IB/FB support, then will see ...

Ok, good!
Add me for the PostgreSQL and FreePascal support for Oracle and PostgreSQL.
Keep up the good work!
Best Regards,
Oliver
 

Re: Database components

Thank you Lauchlan M,
Your posts are very good.
I am thinking in use kbmmw + ADO. I donwloaded it
but I am waiting a password for unzip the file.
I need test the speed with multiple master/detail relationship.
datasnap is slowed with ADO and SQLSERVER:
test example:
1 MASTER TABLE WITH 1000 rows
2 DETAILS TABLES ~ 5 rows per each master record
the open time is over 40 seconds
"Lauchlan M" <LMackinnonAT_NoSpam_ozemailDOTcomDOTau>escribi?en el mensaje
Quote
>I am sorry,
>
>I want apologize you, Lauchlan M, and everybody that I could have
>offended

no problems. And I understand how dfficult communication might be if
English
is not your{*word*128}language.

>I rewrite my necesities:
>
>Support complex relationships (master/details) like datasnap.
>ClientDataSet components
>Speed is important. DataSnap is slow with multiple relationships

both kbmmw and RemObjects/DataAbstract are 'DataSnap replacements'. They
don't use ClientDataSets, but use quivalents (eg the ClientDataTable in
DataAbstract).

>I use ADO components (in server layer)
>C++Builder 6 Pro support
>DataBases: MSDE2000, SQLSERVER, ORACLE 9i, MYSQL 4

ok, you can continue to use ADO, but if you want more speed, you could
look
at www.crlab.com/products.html , in particular ODAC, SDAC and
MyDAC.
These support all the databases you mentioned, and are optimised for
speed.

I have not used these myself, but they have been highly recommended.

For SQL Server and MSDE, there is also OLEDBDirect,
www.oledbdirect.com/index.php . I have used this, and the speed
gains
were impressive. I gather SDCA/ODAC/MyDAC offer similar gains, as they
also
target direct access to the OLEDB layer.

CoreLabs also offer classes for drect C++ access to Oracle.

Lauchlan M


 

Re: Database components

Quote
Your posts are very good.
Thanks!
Quote
I am thinking in use kbmmw + ADO. I donwloaded it
but I am waiting a password for unzip the file.
ok. ADO and kbmmw should work well together.
I suggest you get together a basic example using the ADO components (follow
the kbmmw introductory white papers which uses the BDE, but you can just
replace the BDE components with the corresponding ADO ones) and then look
into the cross adapter components, for multi-database support. The idea of
the kbmmw cross database components is to support the app using multiple
database servers. To find out more, I suggest you ask about these components
on the kbmmw ng.
Quote
I need test the speed with multiple master/detail relationship.
datasnap is slowed with ADO and SQLSERVER:

test example:

1 MASTER TABLE WITH 1000 rows
2 DETAILS TABLES ~ 5 rows per each master record
the open time is over 40 seconds
That sounds a bit on the long side to me. This is just for downloading and
opening two tables in a master/detail relationship, with a total of 1000
records in one and 5000 in the other?
But the speed really depends on a lot of things. Do the master or detail
records contain any BLOBs or other sizeable data? Is this over a LAN or WAN?
If it is a WAN, what kind of connection do you have, eg dial-up or broadband?
What transports are you using (eg is it Indy components)? etc.
Also, I know you are doing testing, but normally for n-tier design you try
to design it so you download the minimum number of rows required. So you ask
the user to put in some filter criteria first, and only download the rows
that are currently required by the user. But in testing, of course, this is
irrelevant.
Anyhow, since this is now about using kbmmw, I suggest you ask on the kbmmw
ng. There are many experienced kbmmw users there who can help you.
HTH
Lauchlan M
 

Re: Database components

Hello, Lauchlan M
I have install the kbmMW under C++Builder 6 Pro and it is very complex for
install.
RemObjects/DataAbstract donīt support C++Builder 6 Pro ?
I am thinking in change my requirements to:
DataBase components that supports complex relation ship like ClientDataSet.
Resolving conflicts, but without app layer server.
Thanks !
 

Re: Database components

Quote
I have install the kbmMW under C++Builder 6 Pro and it is very complex for
install.
Ask on their ng and you will get some help . . .
Quote
RemObjects/DataAbstract donīt support C++Builder 6 Pro ?
Hmm, apparently not. Delphi for Win32 and .net, and Kylix.
Quote
I am thinking in change my requirements to:

DataBase components that supports complex relation ship like
ClientDataSet.
Resolving conflicts, but without app layer server.
Hmm, I don't know. You could push ahead with kbmmw for a bit and try to get
some help from their ng.
Alternatively, you could look at using the kbmmemtable (an in-memory dataset
table) as a basis for your architecture.
Lauchlan M
 

Re: Database components

Hi,
Quote
I have install the kbmMW under C++Builder 6 Pro and it is very complex for install.
Please make sure to follow _all_ steps described for C++Builder v6, one by one, in the installation.txt file (13 or so
steps to pursue).
Quote
DataBase components that supports complex relation ship like ClientDataSet.
Resolving conflicts, but without app layer server.
You can also do that with kbmMW. kbmMW's database adapters can operate without the use of any application server at all.
If it will be the correct path to choose, I dont know, as I dont know your exact requirements.
However in most cases, a thin client is to prefer over a fat one where you need to configure database access API's and
more.
--
best regards
Kim Madsen
XXXX@XXXXX.COM
www.components4developers.com
The best components for the best developers
kbmMW - RAD Enterprise class n-tier application server framework
kbmMemTable - High performance memory table
kbmWABD - RAD web development
kbmX10 - RAD house automation
 

Re: Database components

Quote
Please, I am sorry for my english.
I dont know how transmit my requeriments:

I need work on this way:

see the inherintance of master/details in clientdataset
bdn.borland.com/article/0,1410,30330,00.html (in spanish)
Sorry, my Spanish isn't very good, either. No hablo Espagnol!
Lauchlan M
 

Re: Database components

Please, I am sorry for my english.
I dont know how transmit my requeriments:
I need work on this way:
see the inherintance of master/details in clientdataset
bdn.borland.com/article/0,1410,30330,00.html (in spanish)
thank you.
"Lauchlan M" <LMackinnonAT_NoSpam_ozemailDOTcomDOTau>escribi?en el mensaje
Quote
>Your posts are very good.

Thanks!

>I am thinking in use kbmmw + ADO. I donwloaded it
>but I am waiting a password for unzip the file.

ok. ADO and kbmmw should work well together.

I suggest you get together a basic example using the ADO components
(follow
the kbmmw introductory white papers which uses the BDE, but you can just
replace the BDE components with the corresponding ADO ones) and then look
into the cross adapter components, for multi-database support. The idea of
the kbmmw cross database components is to support the app using multiple
database servers. To find out more, I suggest you ask about these
components
on the kbmmw ng.

>I need test the speed with multiple master/detail relationship.
>datasnap is slowed with ADO and SQLSERVER:
>
>test example:
>
>1 MASTER TABLE WITH 1000 rows
>2 DETAILS TABLES ~ 5 rows per each master record

>the open time is over 40 seconds

That sounds a bit on the long side to me. This is just for downloading and
opening two tables in a master/detail relationship, with a total of 1000
records in one and 5000 in the other?

But the speed really depends on a lot of things. Do the master or detail
records contain any BLOBs or other sizeable data? Is this over a LAN or
WAN?
If it is a WAN, what kind of connection do you have, eg dial-up or
broadband?
What transports are you using (eg is it Indy components)? etc.

Also, I know you are doing testing, but normally for n-tier design you try
to design it so you download the minimum number of rows required. So you
ask
the user to put in some filter criteria first, and only download the rows
that are currently required by the user. But in testing, of course, this
is
irrelevant.

Anyhow, since this is now about using kbmmw, I suggest you ask on the
kbmmw
ng. There are many experienced kbmmw users there who can help you.

HTH

Lauchlan M