Re: Informix 5.0 vs. Java
Posted in 1997
Topics: Installation, Setup & Upgrades, Connectivity: ODBC / JDBC / .NET, Connectivity: ESQL/C, 4GL & Embedded SQL, Java & JDBC Development
In article <5jd9mj$sfv@proxy5.proxy.ozemail.net>, dion@multitask.com.au (Dion Gillard) wrote: > In message <3359D026.6587@imaginary.com> - George Reese <borg@imaginary.com> > writes: > | > | Dion Gillard wrote: > | > Ok....JDBC can run on a machine with no ODBC code installed... > | > | JDBC has nothing to do with ODBC. One of the things JDBC can access is > | an ODBC data source, but it can also access many other data sources as > | well. > Ummm....that was my original point at the start of this thread! > > > dIon, Multitask Consulting > Work: http://www.multitask.com.au > NetRexx: http://www.multitask.com.au/netrexx > RxExtras: http://www.multitask.com.au/rxextras Actually, ODBC and JDBC are siblings. They both are implementations of a standard called "Call-level SQL". The confusion with ODBC is that Sun gave away, for Wintel platforms, a free JDBC-ODBC bridge that uses a Wintel's existing ODBC drivers to access data sources. This was done as a quick-and-dirty solution to let developers get started in working with JDBC. Now that JDBC-specific drivers are beginning to appear in the marketplace, the JDBC-ODBC bridge is no longer needed. I suggest you point your web browsers to the Sun/Java site. http://www.javasoft.com/ http://www.javasoft.com/products/api-overview/index.html http://www.javasoft.com/products/jdk/1.1/docs/guide/jdbc/getstart/introTOC.doc.html They have white papers (in html and pdf/Acrobat formats) that explain exactly what JDBC is, its history, and the designers' rational. Here's an excerpt from Sun's JDBC documentation: >>>>>>>>> > 1.1.3 ''JDBC versus ODBC and other APIs > > At this point, Microsoft's ODBC (Open DataBase Connectivity) API is > probably the most widely used programming interface for accessing > relational databases. It offers the ability to connect to almost all > databases on almost all platforms. So why not just use ODBC from Java? > The answer is that you can use ODBC from Java, but this is best done > with the help of JDBC in the form of the JDBC-ODBC Bridge, which we will > cover shortly. The question now becomes, "Why do you need JDBC?" There > are several answers to this question: > > > 1.ODBC is not appropriate for direct use from Java because it uses a C > interface. Calls from Java to native C code have a number of drawbacks > in the security, implementation, robustness, and automatic portability > of applications. > 2.A literal translation of the ODBC C API into a Java API would not be > desirable. For example, Java has no pointers, and ODBC makes copious use > of them, including the notoriously error-prone generic pointer "void *". > You can think of JDBC as ODBC translated into an object-oriented > interface that is natural for Java programmers. > 3.ODBC is hard to learn. It mixes simple and advanced features together, > and it has complex options even for simple queries. JDBC, on the other > hand, was designed to keep simple things simple while allowing more > advanced capabilities where required. > 4.A Java API like JDBC is needed in order to enable a "pure Java" > solution. When ODBC is used, the ODBC driver manager and drivers must be > manually installed on every client machine. When the JDBC driver is > written completely in Java, however, JDBC code is automatically > installable, portable, and secure on all Java platforms from network > computers to mainframes. > In summary, the JDBC API is a natural Java interface to the basic SQL > abstractions and concepts. It builds on ODBC rather than starting from > scratch, so programmers familiar with ODBC will find it very easy to > learn JDBC. JDBC retains the basic design features of ODBC; in fact, > both interfaces are based on the X/Open SQL CLI (Call Level Interface). > The big difference is that JDBC builds on and reinforces the style and > virtues of Java, and, of course, it is easy to use. > > More recently, Microsoft has introduced new APIs beyond ODBC: RDO, ADO, > and OLE DB. These designs move in the same direction as JDBC in many > ways, that is, in being an object-oriented database interface based on > classes that can be implemented on ODBC. However, we did not see > compelling functionality in any of these interfaces to make them an > alternative basis to ODBC, especially with the ODBC driver market > well-established. Mostly they represent a thin veneer on ODBC. This is > not to say that JDBC does not need to evolve from the initial release; > however, we feel that most new functionality belongs in higher- level > APIs such as the object/relational mappings and embedded SQL mentioned > in the previous section. <<<<<<<<< -- To get random signatures put text files into a folder called 'Random Signatures' into your Preferences folder.