![]() |
| Home | Articles | BDE Alternatives Guide | JBuilder Open Tools | Services & Training | About |
Vendor's Description (from Readme files, web site, etc.): What is ODBC? ODBC is an acronym for 'Open DataBase Connectivity'. It is a standard first developed by Microsoft for accessing data in both relational and non-relational database management systems, based on the X/Open and ISO/IEC Call-Level Interface (CLI) specifications for database APIs and the Structured Query Language (SQL) specification for database access languages. The ODBC standard is widely used by all major database vendors. Databases driven by database engines include Oracle, Microsoft SQL Server, Sybase, Informix and DB2, while you also get a lot of so-called 'flat-file' databases with no stand-alone database engines, such as Microsoft Access, dBase, Paradox and BTrieve. All these and other databases can be accessed via ODBC. Why was ODBC created? You need a way to communicate with a database and transfer data to and from a database, as well as perform some queries on the data in the database. The problem is that each database vendor has his own set of methods (called an API) to perform all these functions. So, if you write an application which for example uses the Oracle API, that same application can’t be used to access a SQL Server database, since the API’s of Oracle and SQL Server are different. So you have to duplicate all your code if you want to access two different databases from the same application. Imagine if you want to access 5 or 10 different databases! Now this is where ODBC comes into the picture and makes life a whole lot easier for you. ODBC is an API that allows you to talk to any database you want. Instead of writing a data access application using a specific database API, such as Oracle’s, you can now write your application using the ODBC API, which can perform virtually any function that you can do with the Oracle API. The best part is that now you can use the same code to access any other database too! How is this possible? Well, ODBC is basically a very thin layer between your application and the database API. It makes use of an ODBC driver to access a specific database. An ODBC driver is basically a DLL which maps each function in the ODBC API to similar functions in the API of the specific database the driver was written for. For example, the Oracle ODBC driver maps the ODBC API into the Oracle API. Each database has its own ODBC driver or drivers, written either by the database vendor or a third-party ODBC driver vendor. What is ODBCExpress? Even though you now only have to write to one API to access any database, the ODBC API isn’t a simple API by any means. It has to cater for almost any functionality that any database out there can support, so you can imagine that the ODBC API is quite complex. ODBCExpress wraps the ODBC API into a set of easy-to-use classes for Delphi and C++Builder, so that you don’t even have to know much (if anything) about the low-level ODBC API to fully make use of ODBC in your applications! However, the application programmer still has access to all low level ODBC functions, giving the programmer the flexibility of the ODBC API. ODBCExpress provides you with access to the entire ODBC API.
Source code availability gives you full control over the
database middleware and allows you to trace down as far as the
low-level ODBC call. This transparency means you can avoid the
pains of impenetrable database engines during debugging. In the
BDE for example ODBC calls are hidden by the BDE, which adds
another layer adding complexity and problems to your database
interface. So if you for example hit a problem when using
BDE-ODBC you have no idea if the problem
ODBCExpress compiles completely into your executable, which means no distribution of an external database engine is necessary. You will need to distribute the ODBC driver or drivers used by your application, and of course you need ODBC installed on the client's machine, however this is normally distributed with the operating system, and is also freely available for download from various web locations. Because ODBCExpress talks directly to ODBC, and ODBCExpress's architecture is optimized for performance, there is no other database middleware for Delphi which can match the speed of ODBCExpress. ODBCExpress was designed for the express purpose of writing large and responsive industrial-strength data access applications. Some of the new features in latest release:
BDE Alternatives Guide Comments: A few years ago, some users reported a lack of response from this vendor, but they appear to be alive and active, have updated the product to support current IDE versions, etc. ODBCExpress is intended primarily for client/server development, but is also has full support for ODBC drivers for flatfile database. This is very useful for people want to ship two versions of their applications: a client/server and a single-user version. As with all middleware-based solutions, ODBCExpress will work very well or no so well based on the ODBC driver. For example, the ODBC drivers for MS SQL Server and MS Access work very well with ODBCExpress; It is not surprising that Microsoft's products work best with an ODBC-based solution, since Microsoft makes ODBC itself. ODBC itself is still in wide use, though Microsoft's focus shifted to ADO and OLE-DB some time back, and more recently to ADO.NET and .NET providers. Some DBMSs still have more ODBC support than OLE-DB/ADO, so an ODBC solution is still a valuable tool to have. In addition, some users have found that OBDC offers high performance than ADO for certain high-volume operations. Is this data old or incomplete? Visit the How To Contribute page. You will also need to download the XML version of the data on this page here. Note that you need to right-click and download the file, not view it in your browser. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| To keep up to date with new information at kylecordes.com, subscribe to the RSS feed. |
| kylecordes.com, Copyright 1999-2009 Kyle Cordes - Contact Kyle |