OpenLink Universal Data Access (UDA) Wiki
Documentation and guidance on installing, configuring and trouble-shooting UDA
Advanced Search
Help?
Location: / Dashboard / UdaWikiWeb / UdaWikiWebIndex / UDAInstallConfig / InstallConfigHTML5SQLBridges / InstallConfigODBCHTML5Bridge

OpenLink HTML5 WebDB-to-ODBC Bridge

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.

Why use this bridge?


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.

It is important to note, each RDBMS engine has its own features and limitations as a Web-accessible Database. OpenLink Virtuoso brings several additional benefits:

  • 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.
  • Graph Database (NoSQL, 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).
  • Extra security -- Fine-grained policy-based security leverages the WebID protocol across ODBC, ODBC-JDBC Bridge, and SPASQL connections.

Installing the bridge

Installation Requirements and Prerequisites


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.

Of course, you will also need an ODBC driver for your DBMS of choice.

Windows Prerequisite: ODBC Bridge Internet Plug-in

  1. Download and install the generic ODBC browser plugin for Windows
Note: Safari, Opera, FireFox, 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.

Mac OS X Prerequisite: ODBC Bridge Internet Plug-in

  1. Safari users: download and install the generic ODBC browser plugin for Safari on Mac OS X
  2. Opera users: download and install the generic ODBC browser plugin for Opera on Mac OS X

Linux Prerequisite: iODBC Driver Manager

Install the OpenLink iODBC Driver Manger from the Web Site or if your Linux distribution includes the iODBC package it can be installed with a command like apt-get install iodbc or similar depending on distribution.

Where can I get ODBC Drivers?

HTML5 WebDB-to-ODBC Bridge Extension Installation

Firefox Extension Installation

  1. Download the ODBC HTML5 Bridge Extension for Firefox and follow the steps for installation.





  2. Click the "Install Now" button to commence the installation.





  3. Click the "Restart Firefox" button to complete the installation.

Safari Extension Installation

  1. 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 ODBC Internet Plugin for Safari, for Windows or Mac OS X.
  2. Download the ODBC HTML5 Bridge Extension for Safari





  3. Double click on the Safari Extension (Safari_iODBC.safariextz) to commence the installation.





  4. Click on the "Install" button to perform the installation.

Opera Extension Installation

  1. If running on Mac OS X, first download and install the ODBC Internet Plugin for Opera.
  2. On both Mac and Windows, download the ODBC HTML5 Bridge Extension for Opera.
  3. Extract the zip contents, and double-click the opera_iodbc.oex found therein. You should be prompted, as --





  4. Click Install, and the extension will install.

Google Chrome Installation

  1. Download the ODBC HTML5 Bridge Extension for Google Chrome and follow the steps for installation





  2. Click the "Install" button to commence the installation.





  3. The extension is now installed.

Using the bridge

Simply install an ODBC Driver for your desired target RDBMS, and configure an ODBC DSN. Then perform any of the following tasks:

API Calls

New General Methods

  • Returns a list of ODBC DSNs as an array of Strings


    WorkerUtils.getDataSources();


  • Returns the column name of result set


    AString nsISQLResultSetMetaData.getColumnName ( IN unsigned short aIndex );


New Database Catalog Calls

For nsISQLTransactionSync (synchronous transaction execution)
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
    );
For nsISQLTransaction (asynchronous transaction execution)
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
    );

Related Links

Powered By Virtuoso