From kde-devel Thu Apr 08 11:35:03 1999 From: Bavo De Ridder Date: Thu, 08 Apr 1999 11:35:03 +0000 To: kde-devel Subject: Re: ODBC on Linux X-MARC-Message: https://marc.info/?l=kde-devel&m=92357238807432 On Thu, 08 Apr 1999, Denis Pershin wrote: >-----BEGIN PGP SIGNED MESSAGE----- > >>The main advantage of OLE DB is that you only pay for what you get. If you are >>accessing a flat file database (a mailbox), you will only load the (small) OLE >>DB framework and the native text-driver, nothing more. >> >>Imagina you could do this in KDE: you have an SQL database with your customers >>email, addres, .... and a plain mailbox (KMail). With OLE DB you can get a list >>of al the email-addresses of customers who haven't sended you a mail in the >>last 4 weeks. >> >>Or: OLE DB is *very* different from ODBC and should be considered something new. > >Maybe you will explain the difference more detailed? > I'll try. First of all: my english is not so good, so please have a look at the Microsoft site for a more in-depth comparison. ODBC is nothing more than a generalized native database driver. ODBC mostly translates calls to the native database driver api language. This means ODBC is build around databases, connections, ... OLE DB doesn't assume there is a database. It only assumes there is a datasource somewhere. This datasource is capable of offering it's data in rowset form. OLE DB doesn't know anything about connections, ... only about datasources, sessions and command objects. Al these objects are only interfaces in COM. CORBA in the KDE case. So anyone who has a datasource (KMail) could build a library containing implementations of these COM (CORBA) interfaces. You can even mix two datasources in a query without either datasource knowing the other. The query language can be different. Depending on the exposed interfaces, you know what a datasource is capable of: ICommand *datasourceCommand; result = dataSourceCommand->QueryInterface("IParameterInfo'); If this returns a valid result, then we know this particular Command object of a datasource, is capable of parsing and executing queries with parameters. THe IParameter will let us investigate the different parameters, their type, ... OLE DB lets you look differently at data in your system. Off course, both ODBC and OLE DB let you extract data from a database (datasource). But the difference is in the way you extract data. Also, thanks to COM (CORBA) OLE DB is very lightweight. BDR