Why use OpenDB?

As mentioned earlier, OpenDB is used to read, write, and select data from any ODBC database server from the D3 environment. The scenario outlined here illustrates a possible use of OpenDB in a production environment.


Company X has the following system configuration to run different parts of their business.

  • ServerA, a Windows Server with SQL Server runs the inventory system.

This is where they keep a database of all available goods they have for sale including product quantity in stock, costs and sales price.

  • ServerB, an IBM DB2 system runs their CRM package where customer information is located.

  • ServerC, a D3 Linux Server runs their e-Commerce Web application written in BASIC with mvDesigner.

The e-Commerce application is the shopping interface for their company. Customers take their orders from this portal. The server stores the orders and sales information in its own database.

Month-end sales reports are generated from this server.


There are three requirements:

  • e-Commerce application needs to gather product information from ServerA including product description, unit price, and available stocks. Product information can change on a real time basis. New stocks and new prices are often unpredictable. Once an order is confirmed, the stock quantity of the ordered products needs to be updated.

  • e-Commerce application needs to gather information about customers, such as name and address, discount rate and billing, and shipping information. The customer information is stored on ServerB.

  • e-Commerce application creates the invoice and stores the sales information in its own database. Some sales information, such as total dollar figures for each customer, must be stored on ServerB in the CRM package. This information needs to be updated as orders are confirmed.


  • Provide a way for ServerC to read the most up-to-date product information stored on ServerA and update the stock information as soon as orders are confirmed.

  • Provide a way for ServerC to read the most up-to-date customer information stored on ServerB.

  • Provide a way for ServerC to write sales values to ServerB as soon as the orders are confirmed.


The only solution that provides real-time data access from ServerC to ServerA and ServerB is to use OpenDB. With OpenDB, ServerC has direct access to ServerA and ServerB on a real-time basis. Because the data is not duplicated, information read through OpenDB is the latest information available on those servers.

This solution provides the best and most efficient way to access data from a remote DBMS. Not only do the BASIC programs have direct access to the remote DBMS tables, data can also be used with AQL from TCL to generate reports. In this example, it is possible to generate a sales report from the D3 Linux Server that shows lists of invoices by customers (stored on ServerB) with line items detailing product descriptions (stored on ServerB).


OpenDB is the only efficient way to read, write, and select data from D3 in real-time. It uses the Microsoft ODBC Manager to make the link between D3 and the remote DBMS, which makes it compatible with virtually any ODBC database. OpenDB is compatible with D3 9.0 and later releases on any D3 supported platform.

If your business solutions require data integration between D3 and remote DBMSs, OpenDB is your gateway to success.