<docbook><section><title>InstallConfigODBCHTML5Bridge</title><para> </para><title> OpenLink HTML5 WebDB-to-ODBC Bridge </title> <ulink url="OpenLink">OpenLink</ulink> HTML5 <ulink url="WebDB">WebDB</ulink>-to-ODBC Bridge 
<para>The OpenLink HTML5 WebDB-to-ODBC Bridge is a Web browser extension that enables the development of database-driven HTML5 (Javascript) applications, without binding to specific back-end database engines for data storage and access.</para><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Why use this bridge? </bridgehead>
<para> Initially, the WebDB API component of HTML5 confined data access and storage to SQLite.
 A bridge to ODBC extends the functionality of the WebDB API to any ODBC- (or JDBC-, via additional ODBC-to-JDBC bridges) -accessible database.
 Such RDBMS engines include OpenLink Virtuoso, Oracle, Microsoft SQL Server, IBM DB2, IBM Informix, Sybase, Ingres, Progress, MySQL, PostgreSQL, Firebird, and many more.</para><para>It is important to note, each RDBMS engine has its own features and limitations as a Web-accessible Database.
 <ulink url="http://virtuoso.openlinksw.com/">OpenLink Virtuoso</ulink> brings several additional benefits: </para><itemizedlist mark="bullet" spacing="compact"><listitem> Virtual/Federated RDBMS access (Commercial Edition only) -- A single ODBC connection to Virtuoso enables access to, and distributed joins across, all ODBC- or JDBC-accessible data sources.
</listitem>
<listitem> Graph Database (<ulink url="NoSQL">NoSQL</ulink>, Triple-store, Quad-store) access -- A single ODBC connection to Virtuoso enables SPARQL access to local and/or remote SPARQL-compliant Graph-model-based DBMS engines via SPASQL (SQL and SPARQL hybrid query language).
</listitem>
<listitem> Extra security -- Fine-grained policy-based security <ulink url="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtFOAFSLLODBCLogin">leverages the WebID protocol</ulink> across ODBC, ODBC-JDBC Bridge, and SPASQL connections.</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Installing the bridge </bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Installation Requirements and Prerequisites </bridgehead>
<para> To use the HTML5 WebDB-to-ODBC Bridge browser extension, you need to first install an ODBC Bridge Internet Plug-in for Windows or Mac OS X.
 Once the plug-in is in place, you then install the actual HTML5 WebDB-to-ODBC Bridge extension(s) for your browser(s) of choice.</para><para>Of course, you will also need an ODBC driver for your DBMS of choice.</para><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Windows Prerequisite: ODBC Bridge Internet Plug-in </bridgehead>
<orderedlist spacing="compact"><listitem> Download and install the generic ODBC browser plugin for <ulink url="http://html5-webdb.s3.amazonaws.com/webdb-api/odbc_plugin_installers/Setup_HTML5_iODBC_Plugin.exe">Windows</ulink></listitem>
</orderedlist><emphasis><emphasis>Note:</emphasis> Safari, Opera, <ulink url="FireFox">FireFox</ulink>, and Chrome are only available as 32-bit applications for Windows.
 Thus, even if testing on 64-bit Windows, only 32-bit ODBC Drivers will be visible to the HTML5 WebDB-to-ODBC Bridge in these browsers.</emphasis>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Mac OS X Prerequisite: ODBC Bridge Internet Plug-in </bridgehead>
<orderedlist spacing="compact"><listitem> <emphasis>Safari users:</emphasis> download and install the generic ODBC browser plugin for <ulink url="http://html5-webdb.s3.amazonaws.com/safari-webdb-extensions/SafariHTML5_iODBC_Plugin.dmg">Safari on Mac OS X</ulink> </listitem>
<listitem> <emphasis>Opera users:</emphasis> download and install the generic ODBC browser plugin for <ulink url="http://html5-webdb.s3.amazonaws.com/webdb-api/odbc_plugin_installers/HTML5_iODBC_NPAPI_Plugin.dmg">Opera on Mac OS X</ulink></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Linux Prerequisite: iODBC Driver Manager </bridgehead>
<para>Install the <ulink url="http://www.iodbc.org">OpenLink iODBC Driver Manger</ulink> from the Web Site or if your Linux distribution includes the iODBC package it can be installed with a command like <computeroutput>apt-get install iodbc</computeroutput> or similar depending on distribution.</para><para> </para><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Where can I get ODBC Drivers? </bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem> ODBC Driver Vendors such as <ulink url="http://uda.openlinksw.com/odbc/">OpenLink Software</ulink> </listitem>
<listitem> <ulink url="http://www.SQLSummit.com/ODBCVend.HTM">Other 3rd-party Driver Vendors (including RDBMS engine providers)</ulink>.</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> HTML5 <ulink url="WebDB">WebDB</ulink>-to-ODBC Bridge Extension Installation </bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Firefox Extension Installation </bridgehead>
<para> </para><orderedlist spacing="compact"><listitem> Download the <ulink url="https://addons.mozilla.org/en-US/firefox/addon/181056/">ODBC HTML5 Bridge Extension for Firefox</ulink> and follow the steps for installation.
<figure><graphic fileref="InstallConfigODBCHTML5Bridge/FFODBCHTML5-01.png" /></figure> </listitem>
<listitem> Click the &quot;Install Now&quot; button to commence the installation.
<figure><graphic fileref="InstallConfigODBCHTML5Bridge/FFODBCHTML5-02.png" /></figure> </listitem>
<listitem> Click the &quot;Restart Firefox&quot; button to complete the installation.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Safari Extension Installation </bridgehead>
<para> </para><orderedlist spacing="compact"><listitem> Safari extensions are not allowed to directly perform some functions.
 To deliver full features of the HTML5 ODBC Bridge to Safari users, some features must be provided through an additional OS extension.
 Download and install the appropriate OS-specific <ulink url="InstallConfigODBCHTML5BridgesSafariPlugins">ODBC Internet Plugin</ulink> for Safari, for Windows or Mac OS X.
</listitem>
<listitem> Download the <ulink url="http://html5-webdb.s3.amazonaws.com/safari-webdb-extensions/Safari_iODBC.safariextz">ODBC HTML5 Bridge Extension for Safari</ulink> <figure><graphic fileref="InstallConfigODBCHTML5Bridge/SafariODBCHTML5-01.png" /></figure> </listitem>
<listitem> Double click on the Safari Extension (<computeroutput>Safari_iODBC.safariextz</computeroutput>) to commence the installation.
<figure><graphic fileref="InstallConfigODBCHTML5Bridge/SafariODBCHTML5-02.png" /></figure> </listitem>
<listitem> Click on the &quot;Install&quot; button to perform the installation.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Opera Extension Installation </bridgehead>
<orderedlist spacing="compact"><listitem> If running on Mac OS X, first download and install the <ulink url="http://html5-webdb.s3.amazonaws.com/opera-webdb-extensions/HTML5_iODBC_NPAPI_Plugin.dmg">ODBC Internet Plugin</ulink> for Opera.
</listitem>
<listitem> On both Mac and Windows, download the <ulink url="http://html5-webdb.s3.amazonaws.com/opera-webdb-extensions/Opera_extension.zip">ODBC HTML5 Bridge Extension for Opera</ulink>.
</listitem>
<listitem> Extract the zip contents, and double-click the <emphasis>opera_iodbc.oex</emphasis> found therein.
 You should be prompted, as -- <figure><graphic fileref="InstallConfigODBCHTML5Bridge/OperaODBCHTML5-01.png" /></figure> </listitem>
<listitem> Click <emphasis>Install,</emphasis> and the extension will install.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Google Chrome Installation </bridgehead>
<orderedlist spacing="compact"><listitem> Download the <ulink url="http://www.chromeextensions.org/other/odbc-bridge-for-html5/">ODBC HTML5 Bridge Extension for Google Chrome</ulink> and follow the steps for installation <figure><graphic fileref="InstallConfigODBCHTML5Bridge/ChromeODBCHTML5-01.png" /></figure> </listitem>
<listitem> Click the &quot;Install&quot; button to commence the installation.
<figure><graphic fileref="InstallConfigODBCHTML5Bridge/ChromeODBCHTML5-02.png" /></figure> </listitem>
<listitem> The extension is now installed.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Using the bridge </bridgehead>
<para>Simply install an ODBC Driver for your desired target RDBMS, and configure an ODBC DSN.
 Then perform any of the following tasks:</para><itemizedlist mark="bullet" spacing="compact"><listitem> <ulink url="HTML5ODBCExplorerSampleProg">Use our HTML5+WebDB based ODBC Explorer</ulink> to investigate your chosen data source.
</listitem>
<listitem> <ulink url="http://html5-webdb.s3.amazonaws.com/webdb-api/ODBCsample1.html">Use our HTML5+WebDB ODBC Sample Application</ulink> to automatically test Synchronous and/or Asynchronous <ulink url="WebDB">WebDB</ulink> API calls.
</listitem>
<listitem> <ulink url="http://dev.w3.org/html5/webdatabase/">Use a third-party HTML5+WebDB compliant application</ulink> -- or develop your own.</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> API Calls </bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> New General Methods </bridgehead>
<para> </para><itemizedlist mark="bullet" spacing="compact"><listitem> Returns a list of ODBC DSNs as an array of Strings <programlisting>WorkerUtils.getDataSources();
</programlisting> </listitem>
<listitem> Returns the column name of result set <programlisting>AString 
  nsISQLResultSetMetaData.getColumnName
  ( IN  unsigned short  aIndex 
  );
</programlisting> </listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> New Database Catalog Calls </bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5"> For nsISQLTransactionSync  (synchronous transaction execution) </bridgehead>
<programlisting>nsISQLResultSet 
  getCatalogs();

nsISQLResultSet 
  getTables
    ( IN  DOMString  catalog   , 
      IN  DOMString  schema    ,
      IN  DOMString  table     , 
      IN  DOMString  tableType
    );

nsISQLResultSet 
  getColumns
    ( IN  DOMString  catalog   , 
      IN  DOMString  schema    ,
      IN  DOMString  table     , 
      IN  DOMString  column
    );

nsISQLResultSet
  getPrimaryKeys
    ( IN  DOMString  catalog   ,
      IN  DOMString  schema    ,
      IN  DOMString  table
    );

nsISQLResultSet
  getForeignKeys
    ( IN  DOMString  pcatalog  , 
      IN  DOMString  pschema   ,
      IN  DOMString  ptable    , 
      IN  DOMString  fcatalog  , 
      IN  DOMString  fschema   ,
      IN  DOMString  ftable
    );

nsISQLResultSet 
  getTypeInfo
    ( IN  short  dataType
    );

nsISQLResultSet
  getProcedures
    ( IN  DOMString  catalog   , 
      IN  DOMString  schema    ,
      IN  DOMString  procedure
    );

nsISQLResultSet
  getProcedureColumns
    ( IN  DOMString  catalog   , 
      IN  DOMString  schema    ,
      IN  DOMString  procedure , 
      IN  DOMString  column
    );
</programlisting><para> </para><bridgehead class="http://www.w3.org/1999/xhtml:h5"> For nsISQLTransaction (asynchronous transaction execution) </bridgehead>
<para> </para><programlisting>void 
  getCatalogs
    ( [optional]  IN  nsISQLStatementCallback       callback       ,
      [optional]  IN  nsISQLStatementErrorCallback  errorCallback
    );

void 
  getTables
    (             IN  DOMString                     catalog       ,
                  IN  DOMString                     schema        ,
                  IN  DOMString                     table         ,
                  IN  DOMString                     tableType     ,
      [optional]  IN  nsISQLStatementCallback       callback      ,
      [optional]  IN  nsISQLStatementErrorCallback  errorCallback
    );

void 
  getColumns
    (             IN  DOMString                     catalog       , 
                  IN  DOMString                     schema        ,
                  IN  DOMString                     table         , 
                  IN  DOMString                     column        ,
      [optional]  IN  nsISQLStatementCallback       callback      ,
      [optional]  IN  nsISQLStatementErrorCallback  errorCallback
    );

void 
  getPrimaryKeys
    (             IN  DOMString                     catalog       , 
                  IN  DOMString                     schema        ,
                  IN  DOMString                     table         ,
      [optional]  IN  nsISQLStatementCallback       callback      ,
      [optional]  IN  nsISQLStatementErrorCallback  errorCallback
    );

void
  getForeignKeys
    (             IN  DOMString                     pcatalog      , 
                  IN  DOMString                     pschema       ,
                  IN  DOMString                     ptable        , 
                  IN  DOMString                     fcatalog      , 
                  IN  DOMString                     fschema       ,
                  IN  DOMString                     ftable        ,
      [optional]  IN  nsISQLStatementCallback       callback      ,
      [optional]  IN  nsISQLStatementErrorCallback  errorCallback
    );

void 
  getTypeInfo
    (             IN  short                         dataType      ,
      [optional]  IN  nsISQLStatementCallback       callback      ,
      [optional]  IN  nsISQLStatementErrorCallback  errorCallback
    );
</programlisting><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Related Links </bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem> <ulink url="InstallConfigXMLAHTML5Bridge">HTML5 WebDB-to-XMLA Bridge</ulink> </listitem>
<listitem> <ulink url="HTML5ODBCExplorerSampleProg">HTML5+WebDB-based ODBC Explorer</ulink> </listitem>
<listitem> <ulink url="http://html5-webdb.s3.amazonaws.com/webdb-api/ODBCsample1.html">HTML5+WebDB-based ODBC Sample Application</ulink> </listitem>
<listitem> <ulink url="http://dev.w3.org/html5/webdatabase/">WebDB API Specification</ulink> </listitem>
<listitem> <ulink url="http://virtuoso.openlinksw.com/">OpenLink Virtuoso Website</ulink> </listitem>
<listitem> <ulink url="http://iodbc.org/">Platform-Independent iODBC Project Home Page</ulink> </listitem>
<listitem> <ulink url="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtFOAFSLLODBCLogin">Using WebID for Virtuoso ODBC login</ulink> </listitem>
</itemizedlist></section></docbook>