Using ADO with CA-Visual Objects
Introduction to ADO
In the past Microsoft has developed Open Database Connectivity (ODBC) as a standard for applications to connect to relational databases. ODBC works fine in that area, but has some problems when accessing non-relational data, or accessing non-standard data types such as graphics, documents, objects etc.
For that reason Microsoft has developed a new strategy for accessing data, called Universal Data Access (UDA). This UDA strategy is based on the Microsoft Component Object Model (COM), and consists of common set of modern, object-oriented interfaces.
The UDA architecture exposes COM-based interfaces optimised for both low-level and high-level application development by using OLE DB and ADO, respectively.
The goal of the UDA is to provide a standard interface for accessing all kinds of data. ODBC was created to access relational databases. UDA is designed for relational and non-relational information sources, including: mainframe ISAM/VSAM and hierarchical databases; e-mail and file system stores; text, graphical, and geographical data; custom business objects; and more.
OLE DB
OLE DB is the Microsoft strategic system-level programming interface to data across the organization.
OLE DB defines a collection of COM interfaces that encapsulate various database management system services. These interfaces enable the creation of software components that implement such services. OLE DB components consist of data providers, which contain and expose data; data consumers, which use data; and service components, which process and transport data (such as query processors and cursor engines). OLE DB interfaces are designed to help components integrate smoothly so that OLE DB component vendors can bring high-quality OLE DB components to market quickly. In addition, OLE DB includes a bridge to ODBC to enable continued support for the broad range of ODBC relational database drivers available today.
ADO
Microsoft ActiveX Data Objects (ADO) is the strategic application-level programming interface to data and information. ADO provides an easy-to-use application-level interface to OLE DB, which provides the underlying access to data. ADO is easy to use because it is called using a familiar metaphor—the COM automation interface, available from all leading RAD, database tools, and languages on the market today.
This ADO technique is being used in more and more development environments as the preferred way to access data, such as the Microsoft products Visual C++, Visual Basic, Office 2000, Visual J++ and Internet Information Server. Also some of the other larger companies offering development solutions, such as Borland/Inprise are embracing this technique.
Why would a VO programmer switch from ODBC or DBF’s to ADO ?
If you are using ODBC or DBF databases in VO and have an application that is working without problems, there is no short-term reason to switch to ADO. In general the rule “if it ain’t broke, don’t fix it” is valid here.
If you start developing new applications, especially multi-tier applications, you should rethink the way your application access data.
In that situation it makes sense then to choose for a data access solution that is widely accepted, and offers a high performance solution. ADO can offer that for you. Both for small-scale solutions in a File Server environment (using the Microsoft Jet Engine for example), but also for larger solutions in combination with a real Database server, such as Oracle or Microsoft SQL Server. All these database solutions can be accessed through one common interface: ADO.
What does Vo2Ado do for the VO developer ?
Vo2Ado offers the VO developer two ways to access data.
- ADO Wrapper classes
- ADO DataServer classes
- ADOX Classes
- Classmate compatible Server class (Professional Version Only)
- VO Sql compatible classes (Professional Version Only)
- VO2Ado RDD (Professional Version Only)
The ADO Wrapper classes are set of very thin classes build on top of ADO. These classes translate VO data-types to ADO and back and handle all the ‘hassle’ of COM for you. These classes are written in a very efficient way, so you’ll get the best possible performance.
The ADO DataServer is a DbServer compatible class that allows you to use data from ADO in combination with the VO data-aware classes, such as DataWindow, DataBrowser and DataListView. There is also a special DataServer class that allows you to use hierarchical (Shaped) datasets, and make them look like a set of related DataServers.
VO2Ado also has a set of ADOX classes (the Microsoft Ado Extensions for DDL and Security). These classes allow you to manipulate the structure of your Microsoft Databases, and set up security rights etc. ADOX right now only work with some providers such as Ms SQLServer, Oracle, ODBC and the Microsoft Jet Engine.
The Classmate compatible Server class allows you to use VO2Ado as datasource in your classmate applications
The SQL Compatible classes allow you to quickly use Vo2Ado in an existing application based on the VO SQL Classes
Finally the VO2Ado RDD allows you to quickly convert a RDD based applications
Do you need SQL Server or the Microsoft Database Engine (MSDE) to work with (Vo2)Ado ?
There is no need to setup a complete SQL Server of the MSDE to work with (Vo2)Ado.
If you install ADO (by installing the Microsoft Data Access pack, that you can download from www.microsoft.com/data) you will also get an OLE DB provider that allows you to access ODBC data, and an OLE DB provider for the Microsoft Jet Engine. Especially the second provider allows you to work with the familiar Microsoft Access Databases, which are very suitable for small projects.
Which providers are available at this moment?
There are already a lot of OLE DB providers available, either through Microsoft or through Microsoft Partners.
Microsoft offers the following providers:
|
Other vendors offer solutions for
various other databases such as:
|
- Microsoft
- Microsoft SQL Server
- Oracle
- Microsoft Active Directory
- Microsoft Index Server
- Microsoft SNA Server
- and more
|
- Advantage Database Server
- DB2/400
- AS/400
- Oracle
- Sybase
- Informix
- OpenIngres
- Rdb
- Ingres,
- Red Brick
- Non-Stop SQL/MP
- Non-Stop SQL/MX
- CISAM
- RMS
- DBMS
|
- MUMPS
- Jasmine
- Adabas
- Enscribe
- Flat file data sources
- Text file data sources
- Any MAPI-based data store
- ObjectStore databases
- xBASE (FoxPro, Clipper and dBase)
- Microsoft Exchange
- Lotus Notes
- Lotus cc:Mail
- and more
|
|