<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>

<title>Universal Data Access Technology Blog</title><link>http://www.openlinksw.com:443/weblog/uda/135/</link><description /><managingEditor>hwilliams@openlinksw.com</managingEditor><pubDate>Fri, 06 Mar 2026 05:53:28 GMT</pubDate><generator>Virtuoso Universal Server 08.03.3334</generator><webMaster>hwilliams@openlinksw.com</webMaster><image><title>Universal Data Access Technology Blog</title><url>http://www.openlinksw.com:443/weblog/public/images/vbloglogo.gif</url><link>http://www.openlinksw.com:443/weblog/uda/135/</link><description /><width>88</width><height>31</height></image>
<item><title>Life after sun.jdbc.odbc.JdbcOdbcDriver</title><guid>http://www.openlinksw.com:443/weblog/uda/135/?date=2015-06-04#1840</guid><comments>http://www.openlinksw.com:443/weblog/uda/135/?id=1840#comments</comments><pubDate>Thu, 04 Jun 2015 21:12:19 GMT</pubDate><description>&lt;h2&gt;In the beginning...&lt;/h2&gt;

&lt;p&gt;When Sun originally released Java 1.0, there were no JDBC drivers -- there wasn&amp;#39;t even a JDBC.&lt;/p&gt;

&lt;p&gt;Data access came in Java 2.0, as &lt;a href=&quot;http://www.oracle.com/technetwork/java/overview-141217.html&quot; id=&quot;link-id0x2aab5b257518&quot;&gt;JDBC 1.0&lt;/a&gt;, but there were very few JDBC drivers from any source, as would be expected with any new technology -- but the ODBC ecosystem (itself then at only v2.0) was going strong.&lt;/p&gt;

&lt;p&gt;Sun recognized that Java wouldn&amp;#39;t have as much uptake without a functional data access solution -- so they produced and bundled the original Type 1 JDBC-ODBC Bridge Driver, &lt;code&gt;sun.jdbc.odbc.JdbcOdbcDriver&lt;/code&gt;, but from the very beginning, they warned that users &amp;quot;should use the JDBC-ODBC Bridge only for experimental prototyping or when you have no other driver available.&amp;quot;&lt;/p&gt;

&lt;p&gt;That bundled JDBC-ODBC Bridge was (and always remained) single-threaded, and though it received some other updates along the way, it only ever supported a subset of JDBC 2.0 and later.  Sun (and later Oracle) recommended that users employ &amp;quot;a pure Java JDBC technology-enabled driver, type 3 or 4, in order to get all of the benefits of the Java programming language and the JDBC API.&amp;quot;&lt;/p&gt;

&lt;h2&gt;Where does OpenLink Software come in?&lt;/h2&gt;

&lt;p&gt;Even in the early days of JDBC, we saw that there would not always be an available JDBC driver for a given target data source -- but the numbers of ODBC drivers were rapidly increasing, supporting every major and many minor DBMS and other data sources.  We saw a need for an enterprise-grade, non-experimental Bridge solution, with full support for the JDBC API.&lt;/p&gt;

&lt;p&gt;We delivered this first as our &lt;a href=&quot;http://uda.openlinksw.com/jdbc-odbc-mt/&quot; id=&quot;link-id0x2aab5bf439b8&quot;&gt;Type 3 Multi-Tier solution&lt;/a&gt;, bridging from JDBC in one environment (typically a UNIX-like OS) to ODBC in another (most often, Microsoft Windows). &lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
 &lt;a href=&quot;http://uda.openlinksw.com/images/jdbcodbcmt.gif&quot; target=&quot;_blank&quot; id=&quot;link-id0x7fe32e904c08&quot;&gt;&lt;img src=&quot;http://uda.openlinksw.com/images/jdbcodbcmt.gif&quot; alt=&quot;Type 3 Enterprise Edition (Multi-Tier) Architecture Diagram&quot; title=&quot;Type 3 Enterprise Edition (Multi-Tier) Architecture Diagram&quot; style=&quot;max-width: 300px; height: auto&quot; /&gt;
 &lt;/a&gt; &lt;br /&gt; Type 3 Enterprise Edition (Multi-Tier) Architecture Diagram &lt;br /&gt; &lt;i&gt;(click to enlarge)&lt;/i&gt;
&lt;/p&gt;

Soon afterward, we released our first &lt;a href=&quot;http://uda.openlinksw.com/jdbc-odbc-st/&quot; id=&quot;link-id0x2aab5b257628&quot;&gt;Type 1 Single-Tier solution&lt;/a&gt;, first for Windows, but quickly also supporting Linux, Mac OS X, Solaris, AIX, HP-UX, and other UNIX-like OS, through our own &lt;a href=&quot;http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/&quot; id=&quot;link-id0x2aab5b0cbc48&quot;&gt;iODBC driver manager&lt;/a&gt; -- which was itself helping to expand the ODBC ecosystem far beyond its birthplace on Windows.

&lt;p style=&quot;text-align:center&quot;&gt;
 &lt;a href=&quot;http://uda.openlinksw.com/images/jdbcodbcst.gif&quot; target=&quot;_blank&quot; id=&quot;link-id0x7fe32e385fe8&quot;&gt;&lt;img src=&quot;http://uda.openlinksw.com/images/jdbcodbcst.gif&quot; alt=&quot;Type 1 Lite Edition (Single-Tier) Architecture Diagram&quot; title=&quot;Type 1 Lite Edition (Single-Tier) Architecture Diagram&quot; style=&quot;max-width: 300px; height: auto&quot; /&gt;
 &lt;/a&gt; &lt;br /&gt; Type 1 Lite Edition (Single-Tier) Architecture Diagram &lt;br /&gt; &lt;i&gt;(click to enlarge)&lt;/i&gt;
&lt;/p&gt;


&lt;h2&gt;Why is Java 8 so special?&lt;/h2&gt;

&lt;p&gt;Sun long warned that the JRE-bundled Bridge was transitional, and Oracle confirmed immediately upon acquisition that it would &amp;quot;be removed in JDK 8. In addition, Oracle does not support the JDBC-ODBC Bridge.&amp;quot;  Java 8 is now in full release, and indeed, the venerable &lt;code&gt;sun.jdbc.odbc.JdbcOdbcDriver&lt;/code&gt; is no longer present, as evidenced by the scary looking error --&lt;/p&gt;

&lt;blockquote&gt;
 &lt;code&gt;&lt;pre&gt;java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:30
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:259)
&lt;/pre&gt;
 &lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;Any Java users or applications relying on ODBC connections and also needing the security and other improvements found in Java 8 are left high and dry...  Or would be, but for OpenLink Software.&lt;/p&gt;

&lt;p&gt;Our JDBC-to-ODBC Bridge, in both &lt;a href=&quot;http://uda.openlinksw.com/jdbc-odbc-st/&quot; id=&quot;link-id0x2aab5b0cc1f8&quot;&gt;Type 1&lt;/a&gt; and &lt;a href=&quot;http://uda.openlinksw.com/jdbc-odbc-mt/&quot; id=&quot;link-id0x2aab5b0cc308&quot;&gt;Type 3&lt;/a&gt; forms, has been available and regularly updated since its original release for JDBC 1.  Fully multi-threaded since Java Runtime Environments (JREs) could handle such, we have also kept pace with the JDBC API -- now at &lt;a href=&quot;http://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/jdbc_42.html&quot; id=&quot;link-id0x2aab5b0cc548&quot;&gt;JDBC 4.2, in 2015&amp;#39;s Java 8 a/k/a JDK/JVM/JRE 1.8&lt;/a&gt; -- and maintained compatibility with the also-evolving &lt;a href=&quot;https://msdn.microsoft.com/library/ee388580.aspx&quot; id=&quot;link-id0x2aab5b0cc6a8&quot;&gt;ODBC API, now at 3.8&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Especially important for the modern world, our solutions support both 64-bit and 32-bit environments, including both 64-bit JVMs and ODBC drivers, and our &lt;a href=&quot;http://uda.openlinksw.com/jdbc-odbc-mt/&quot; id=&quot;link-id0x7fe35a5e2168&quot;&gt;Type 3 solutions&lt;/a&gt; can even bridge between these, whether you have a 64-bit JVM and need to connect to a 32-bit ODBC driver, or you have a 32-bit JVM and need to connect to a 64-bit ODBC driver.&lt;/p&gt;

&lt;p&gt;As always, our solutions are &lt;a href=&quot;http://download.openlinksw.com/solwiz/&quot; id=&quot;link-id0x2aab5b0cc0e8&quot;&gt;available for immediate download&lt;/a&gt;, with a free two-week trial license provided alongside.  We encourage pre-purchase installation, configuration, and testing, with support provided through our &lt;a href=&quot;http://boards.openlinksw.com/support/index.php&quot; id=&quot;link-id0x2aab5b0cc9a8&quot;&gt;web-based Support Forums&lt;/a&gt; and even &lt;a href=&quot;http://support.openlinksw.com/support/online-support.vsp&quot; id=&quot;link-id0x2aab5b0ccaa8&quot;&gt;free up-and-running Support Cases&lt;/a&gt;.  Once you&amp;#39;ve confirmed the driver works for you, &lt;a href=&quot;http://uda.openlinksw.com/offers/&quot; id=&quot;link-id0x2aab5b255fc8&quot;&gt;entry level and special offer licenses&lt;/a&gt; may be purchased online or through our Sales Team; these as well as custom license configurations or &lt;a href=&quot;http://www.openlinksw.com/partners/&quot; id=&quot;link-id0x2aab5b256168&quot;&gt;partnership (IBP, ISV, VAR, OEM, etc.) arrangements&lt;/a&gt; are always available by &lt;a href=&quot;http://www.openlinksw.com/contact/&quot; id=&quot;link-id0x2aab5b256288&quot;&gt;direct contact&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>DataSpaces Bulletin: December issue now online!</title><guid>http://www.openlinksw.com:443/weblog/uda/135/?date=2008-12-09#1492</guid><comments>http://www.openlinksw.com:443/weblog/uda/135/?id=1492#comments</comments><pubDate>Tue, 09 Dec 2008 18:09:00 GMT</pubDate><description>&lt;p&gt;The highly anticipated &lt;a href=&quot;http://support.openlinksw.com/supportweb/DataSpacesBulletin-2008-12&quot; id=&quot;link-id0x2108a398&quot;&gt;December 2008 issue of the DataSpaces Bulletin is now available&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;This month&amp;#39;s DataSpaces contains material of interest to the Virtuoso developer and UDA user community alike —&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Introduction to Virtuoso Universal Server (Cloud Edition).&lt;/li&gt;
&lt;li&gt;Links to Virtuoso and Linked Data mailing lists.&lt;/li&gt;
&lt;li&gt;UDA license management tips and tricks.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>IBM Flexes XML Muscle</title><guid>http://www.openlinksw.com:443/weblog/uda/135/?date=2005-01-04#658</guid><comments>http://www.openlinksw.com:443/weblog/uda/135/?id=658#comments</comments><pubDate>Tue, 04 Jan 2005 17:19:09 GMT</pubDate><description>&lt;p&gt;Here is another article titled &amp;quot;&lt;a href=&quot;http://www.eweek.com/article2/0,1759,1747224,00.asp?kc=ewnws010305dtx1k0000599&quot;&gt;IBM Flexes XML Muscle&lt;/a&gt;&amp;quot; that covers the same general theme: IBM&amp;#39;s appreciation of Unified Storage.&lt;/p&gt;
&lt;p&gt;As indicated in an earlier &lt;a href=&quot;http://www.openlinksw.com/blog/~kidehen/index.vspx?id=648&quot;&gt;post&lt;/a&gt;: IBM is clearly validating what we have done with Virtuoso (as was the case initially with their Virtual / Federated DBMS initiative ala DB2 Integrator). Here is an excerpt from today&amp;#39;s &lt;a href=&quot;http://www.eweek.com/article2/0,1759,1747224,00.asp?kc=ewnws010305dtx1k0000599&quot;&gt;eWeek article&lt;/a&gt; supporting this position:&lt;/p&gt;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;p&gt;To achieve maximum XML performance, bolstered indexing attributes in the technology will enable advanced search functions and a higher degree of filtering. IBM is also adding support for XPath and XQuery data models. This will allow users to create views that involve SQL and XQuery by sending the protocol through DB2&amp;#39;s query optimizer for a unified query plan. &lt;/p&gt;
&lt;p&gt;
  &lt;a href=&quot;http://www.eweek.com/article2/0,1759,1747224,00.asp?kc=ewnws010305dtx1k0000599&quot;&gt;Read on..&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&quot;ltr&quot;&gt;
&lt;a href=&quot;http://virtuoso.openlinksw.com/&quot;&gt;Virtuoso&lt;/a&gt; has been doing this since 2000; unfortunately a lot of&lt;/p&gt;</description></item><item><title>Preventable SQL DBMS Vulnerabilities</title><guid>http://www.openlinksw.com:443/weblog/uda/135/?date=2004-05-17#545</guid><comments>http://www.openlinksw.com:443/weblog/uda/135/?id=545#comments</comments><pubDate>Tue, 18 May 2004 00:41:39 GMT</pubDate><description>&lt;p&gt;Here are some excerpts (inlined) with my comments (outlined)&lt;/p&gt;</description></item>
</channel>
</rss>
