Question

New "Developer" considering Delphi as a database Solution. Seeking Advice/Direction.

Asked by: hbtitansfan

Hello,

It has been years since I have done any programming or work with databases, all of which was done in Paradox (4.0 & 5.0) and the Windows 3.1 environment.  My new task at had is selecting a development environment and database solution for a project.  The makeup of this database will really not be extremely complex (15-20 tables).  In attempting to get up to speed with technology changes in programming & databases, I am finding that for the most part the BDE is being abandoned and SQL/Web-solutions/.NET are here/replacing older database solutions.

One option “seems” to be using Access as a development environment, but I was leaning towards Delphi 7/8 which leaves the choice of a database solution up in the air.  Mainly I am asking for advice on what type of database/development platform to use.  Our work environment consists of Windows XP machines and Windows Server 2003 (w/SQL Server 2000).  The final application/database will probably need to be client/server, although very few users will ever access the database simultaneously (maybe 4-8).  The data, due to government regulations, would eventually need to be backed up and easily accessible for 7 years, but the application/database would not be distributed to a large user base (10 people max).

I don’t really know much about .NET, ASP etc, and whether that is something I should investigate/consider more either.  Any advice/direction appreciated with regard to Delphi and Database solutions.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2004-10-20 at 17:36:22ID21176489
Tags

asp

,

delphi

Topics

Delphi Programming

,

Delphi Database

Participating Experts
5
Points
250
Comments
10

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. BDE Callback for Paradox tables
    Anyone know how to use DbiRegisterCallBack to tell when a table has been edited? I have Delphi applications that share a Paradox database on a network and I want each application running on a different machine to know when certain tables in the database are updated so I can ...
  2. Best version of Paradox to use with Delphi?
    The Database Desktop utility that comes with Delphi 3 is fairly sparse, and leaves alot to be desired. Is there a particular version of Paradox that would be useful to have to replace the Database Desktop? EBay always has used copies of Paradox, but is there a particularly ...
  3. Paradox?
    I have work with a 500000 record, what do you recomend? ..paradox? I programing with Delphi 5.0
  4. BDE alternative or NOT?
    I just start to bluild a CGI app with Delphi. I use paradox tables only to store records and to sort them in 2 diferent ways (indexes). But, problem is hosting my app, cause server side doesn't have BDE installed. What is the bast solution for me? 1.to use some bde alternati...
  5. BDE and Paradox
    I have to access Paradox tables. But when I run my app. on another computer, an error occurs when BDE try to initialize. How should I process? Thanks
  6. Paradox
    Is there a Paradox help area or does anybody know Paradox?

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: DelphianPosted on 2004-10-20 at 18:59:28ID: 12365791

Well,

Development Tool:
With Delphi 7 you can develop your system in a C/S
way and port that solution (depending on how much
dependence you have from WinAPI  tricks) to .NET
framework.
On the .Net Framework, there is Delphi 8 where you
can use your VCL code created on D7.
There's a few components that don't go on .NET but
majority of the D7 components will be there.

If you go .NET framework straight, many experienced developers
gets troubled with its workings, including myself I've got perplexed
some times. Is not their fault, it is .NET that created such a revolution
on the way of how a application interact with the system. For good
or evil, this is another discussion that I will NOT enter. (It's perfect
flame wars).
With Delphi you can also develops Web front-ends for your business
rules either using ASP Active Server Objects, WebSnap
(Borland's architecture for creating dynamic front-end) and Intraweb
applications - these 3 with Delphi 7. You can compile either CGI, ISAPI,
Apache Modules and stand-alone apps for debugging.
With Delphi 8 for .NET, your web front-end can be ASP.NET  or Intraweb
(but you'll have to buy IntraWeb because is not included on D8 now. It
is included on Delphi 7). Note: ASP.NET is COMPLETELY different in
structure and concept from classic ASP.

I go for Delphi. (But I am Delphi developer)

Database Manager:

I'm consider myself a good MSSQL 2000 DBA. But I don't like much
the philosophy of MSSQL 2K. If you are considering a database change,
I'd go FirebirdSQL. Free, robust and outperforms SQL Server on high
contention environment.
If you need replication, there are some third-party replication modules.
(The way you describe your environment, doesn't seems that you'll need
replication).




 

by: Ivanov_GPosted on 2004-10-20 at 23:39:57ID: 12367054

For IDE - I recommend you Delphi 7. If you are going to have some clients simultaneously - you should think of some sort of application server. This could be MTS COM+ object or SOAP web service. I would recomment you SOAP. Delphi 7 can create them both. The web service can easily be ported to Kylix and running under Linux.

Connecting to DB from Delphi ... The best option is Direct Access Components, they are faster, but the disadvantage is that if you want to change the database - you will have to rewrite part of the code. While using SOAP applications, you DataBase components will sit in the server and you can use TDataSetProvider and TClientDataSet to transfer the data. If you want more DB independance - consider dbExpress as good choice. Borland made it as a replacement of BDE.

About the database... If you want FREE database server - the best one is PostgreSQL. There is a version for Windows, I think the site was PgFoundry.com. Large part of the stuff in this DB is "imitated" from Oracle. The SQL dialect is called PGPL/SQL, something like PL/SQL in Oracle, but if you want, you can add modules and write stored procedures in other languages like C or Perl... So it is good choice.
If you want something PAID - then Interbase is for you. The only thing I hate in Interbase/Firebird is that after a SELECT statement it enters a transaction, but I can live with that...

 

by: DragonSlayerPosted on 2004-10-20 at 23:44:35ID: 12367067

> If you want something PAID - then Interbase is for you
Of course, there is also the OpenSource branch of Interbase ... www.ibphoenix.com

 

by: Sergio_HdezPosted on 2004-10-21 at 03:03:24ID: 12368073

D7 + InterBase is a perfect solution!

I use old components named FreeIB to direct connect to the DB, but now-a-days, the equivalent components come with delphi 7 and are named IBX... I didn't change to them as it was easier for me to trick the FreeIB to work with lates releases of both, D7 and InterBase 1.5 (I can mail them to you if you want, but better use IBX as they are supported by Borland, and tricked FreeIB are only supported by me!).

Also, to mamage the DBs I use IBOConsole, and have done a tool to translate DBF or CSV tables into FireBird DBs easily, that again can mail to you if you feel in the need (or can find it yourself at http://www.hcsoft.net/hclabwin/archivos.php?haz=lista&ruta=%2F2.+Bases+de+datos/Utilidades).

 

by: Workshop_AlexPosted on 2004-10-21 at 03:29:05ID: 12368201

Since you already have SQL Server, I'd just suggest that you use it. Don't even bother with Interbase, Access or whatever else. SQL Server, especially on a dedicated system, will perform well enough.

Delphi 7 would be a nicer solution than Delphi 8, though. And all you will need are the ADO components. Keep in mind however that designing client-server databases is completely different from what you've been used to.

Now, you have two possible setups. Either do a two-tier application where your client connects directly to the database through ADO or create a multi-tier application where you create your own server components to install on some special server system. The 2-tier solution is relatively straightforward for you. It's quite similar to what you're already used to. For a multi-tier solution you will have to think about the best way to set up the middle tier. (The server with your server components.)

There are quite a few solutions for multi-tier applications. SOAP has been mentioned already but Delphi's implementation of SOAP is flawed, making it incompatible with many SOAP clients. With Delphi 8 you can consider .NET Remoting but this technique hasn't proven itself yet. It's still to experimental. You could create your own TCP/IP protocol to send data between client and server but this requires a lot of work. You could use DCOM but this requires lots of insight in security issues and requires things to be set up correctly. MIDAS is an option too, with CORBA but I consider then a bit too expensive for what they offer.
The solution I once chose for in a similar situation was COM+ though. (Used to be known as MTS.) It's free and works well on W2K and better. You create a COM+ component in Delphi that exposes several methods and install it as a COM+ application. Then any client can connect to this server, call the COM+ component and access it's methods.

However, all these multi-tier solutions are only usable when you have at least a dozen or so users active at the same time. It allows you to divide processing time over multiple systems. Actually, some multi-tier solutions have been created to even support thousands of simultaneous users thus it is a bit overkill if no more than 4 users are active at the same time. A 2-tier solution would be a lot better in that case.
The only other advantage of multi-tier applications would be that you tell the client to which server it has to connect and the server knows to which database you have to connect. In a 2-tier application, every client needs to know where the database is...

So, open Delphi 7, drop an ADOConnection component and some ADOQueries to it (avoid ADOTables!) and set it up correctly. Add the data-aware components you need and this whole thing might be finished in about a week. ;-)
Keep it Simple!

 

by: DragonSlayerPosted on 2004-10-21 at 03:39:18ID: 12368251

> The solution I once chose for in a similar situation was COM+
So what is the solution that you use now, Alex? hehe ;-)

 

by: Workshop_AlexPosted on 2004-10-21 at 06:02:39ID: 12369305

Well, my current solution was to go to a different employer, move back in time to use Delphi 5 and work with applications that use FlashFiler as database. And these applications are just desktop applications that can communicate with each other through a simple TCP/IP protocol, if needed.
My current projects have become a lot easier with databases but more complex with the real internal works of the PC and telephony. (Sending faxes, connecting to a PBX system, etc.) Less administrative and more technical. A better challenge for me. :-)

Still, if we would have to build a large database system then I would advise my employer to start using COM+ because it's quite easy to use, once you're past the huge learning curve. ;-)

 

by: DragonSlayerPosted on 2004-10-21 at 11:04:45ID: 12372785

COM+ ... gosh, that's one thing that I've been reminding myself to learn, but never managed to motivate myself enough to learn it ;-)

Been using FPiette's MidWare components as the application server/middleware instead, and it is still working reliably, with about 9k users and approx. 1k concurrent users.

 

by: hbtitansfanPosted on 2004-10-21 at 18:49:31ID: 12377122

Thanks for the Comments and Suggestions.  Very much appriciated.  I will close this question out as answered (New to this service).  For anyone that used Paradox, when i used it, i simply fell in love with ObjectPAL.  Eventually learning it inside out, before basically leaving the "computer-world" behind for a few years.  Once tried my hand at C, and Delphi 1.0 but could never "get into them" like i did Paradox/ObjectPAL.  Anyone that used Paradox and also "loved" ObjectPAL--Anything similar in/with Delphi?

Thanks again Folks

 

by: Workshop_AlexPosted on 2004-10-22 at 02:07:28ID: 12378810

I've used Paradox too in the past. I still have it installed on my current system, although I don't really use it anymore. I never done much with ObjectPAL though, simply because I used Delphi even before I started using Paradox. (And before Delphi I used Turbo Pascal with DBase IV.) Paradox still exists but it's in the evil hands of Corel who have messed it up completely. Besides, Paradox has to compete with Access, MySQL and InterBase/Firebird these days and these other databases just perform better in multi-user environments. Paradox also had lots of problems with corrupt indices and can be quite slow when you're trying to use complex queries, compared to other databases.

These days SQL just happens to be the most important database language and Paradox just isn't good at supporting it. And especially in a commercial environment with dozens of users the preference would be to use a "real" SQL database like SQL Server or Oracle. (And perhaps InterBase, but Interbase is more somewhere in the middle, with SQL Server and Oracle on top and Access and MySQL at the bottom. It's like a link between simple systems on the bottom that can be used for simple projects and the complex systems at the top for real enterprise solutions.)

In the future, look at the bottom-left below the last post. There's an option there that you can use if you want to split the points over multiple experts, in case more than one person gave you a useful answer.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...