• Support was outstanding.

    DBA, USA

  • Makes us much more confident to purchase knowing issues can be resolved quickly.

    DBA, USA

  • ...response was all but immediate and VERY straightforward.

    DBA, USA

  • I am impressed with your service level.

    – IT Manager, Germany

  • I just wanted to let you know about the exemplary service I received from one of your support staff yesterday.

    – Senior Project Manager, Law Firm, UK

  • Driver works like a dream.

    – Energy Supplier, London

  • Testing has completed successfully. Configuration of the software/driver was a breeze.

    KR – Banking institution, USA

  • The Easysoft Oracle® ODBC Driver blew us away.

    – Senior Data Manager, USA

  • Found Easysoft Sales staff to be incredibly knowledgeable and helpful.

    – Retailer, South Africa

  • We used your product to synchronize our ODBC database with our legacy application and are extremely happy with the performance.

    JS – Energy Company USA

  • Real time data access from a REAL software company.

    – Project Lead, Retailer, UK

  • We are grateful to Easysoft for supplying a great solution that helped us access our 64-bit database.

    – Architecture Manager, UK

  • The integration into our databases and the assistance given with bulk uploads and a general helpful attitude was outstanding.

    – Project Manager, Telecoms, USA

  • Easysoft constantly provide us with an excellent service.

    – Database Manager, UK

  • Easysoft provided excellent support and advice on the launch of our new data infrastructure.

    – Head of IT, Major Airport, USA

  • We are very pleased with their drivers and support.

    – Tech Support, Manchester, UK

  • We highly recommend Easysoft, their technical support is outstanding and the service we have received from then is both professional and efficient.

    – Project Support, UK

  • Whenever we need them for assistance or advice, the team at Easysoft is always a phone call away and ready to help.

    – Data Manager, UK

  • Been using your drivers for many years now and we are impressed with the quality and price of them.

    – Program Manager, USA

  • Our long term collaboration with Easysoft can be characterized by the excellence of their services, speed of communication and responsiveness to their clients.

    – CEO, Major ISP, USA

  • Since the very beginning, Easysoft maintained very high standards in the technology that they use.

    – Infrastructure Engineer, Telecoms, USA

  • Unsure about your services at first we are so pleased that we did choose Easysoft.

    – Project Manager, USA

  • Straightforward, brilliantly priced products - what else can I say!

    – Database Manager, USA

  • Very pleased particularly with the quality of the product.

    – Project Manager, General Retailer, France

  • Very nice guys, professional. Thank you.

    – Head of Solutions, USA

  • Never used Easysoft Limited before, but I would not hesitate in recommending them.

    – Consultant, USA

  • I will not hesitate to consider Easysoft for our product deployments.

    LH – Software Solution Provider

  • Everything seems to run faster with Easysoft!

    – IT Manager, UK

  • Thank you so much for your continuous support. The Easysoft driver was indeed excellent, easy and reliable.

    PH – Telecoms

ODBC-ODBC Bridge

The Easysoft ODBC-ODBC Bridge simply allows applications on one machine to access ODBC data sources on another.

It supports multiple concurrent connections from multiple clients to multiple target databases. The principal application is to enable access from Linux and Unix platforms to remote ODBC databases. For example, Apache/PHP programs on Linux can read/write data held on MS SQL Server on Windows, and Perl programs can read/write data held in a MS Access database.

Supported applications are numerous. but include Applixware, OpenOffice, Python, Rexx/SQL, mnGoSearch, OpenLDAP, and Oracle® sqlplus. Supported platforms include Linux, Mac OS X, Windows and various Unix flavors.

HP Business Partner. Sun Associate Partner. Certified for Windows Vista. Intel® Software Partner Program.

ODBC Bridge for Linux, Unix and Windows

The Easysoft ODBC-ODBC Bridge (OOB) is a client/server product that allows an ODBC application to access an ODBC driver on a remote machine. The OOB Client is an ODBC driver which communicates with the OOB Server. The OOB Server connects to an existing ODBC driver on the server machine. It does not need to be installed on the database server.

The OOB is normally used to provide access to an ODBC driver you cannot obtain for the client platform. For example, your ODBC application needs to run on Linux but it needs to use a Microsoft ODBC driver only available on Windows.

Our customers are typically using the OOB with applications and interfaces such as Perl, Apache/PHP, Python and C to access many Windows-only ODBC drivers from Unix and Linux, including:

To help you administer and control remote ODBC access, the OOB Server also offers features such as centralised configuration, management, access control and monitoring of ODBC data access.

Features

Client

The OOB Client is a fully ODBC 3.5 compliant ODBC driver.

The OOB Client provides access to remote ODBC drivers installed on machines other than the one where your ODBC application is running.

In addition, the OOB Client:

  • Leads you through the process of creating your first data source and shows you your remote data, during installation on Unix.
  • Has built in support for installing itself into the Microsoft ODBC Driver Manager, the Open Source unixODBC Driver Manager. On Windows, OS X and platforms that support X, we provide GUI setup dialogues accessible from the ODBC Administrator that let you configure your data sources.
  • Includes oobping-a program that lets you check that an OOB Server is alive, test authentication and connection to remote DSNs.
  • Works seamlessly with ODBC interfaces such as Perl DBI and DBD::ODBC, PHP, Rexx/SQL, Python mxODBC and pyodbc.
  • Has been tested with a large range of ODBC applications. Supported applications include OpenOffice.org, ApplixWare, StarOffice, Microsoft Access and Microsoft Excel.
  • Performs caching of SQLGetInfo results.
  • Contains ODBC optimisations for fetching rows from applications not using bound columns.
  • Compresses network data for maximum throughput.
  • Has comprehensive tracing facilities.
  • Contains a demonstration ODBC application (with source) that connects to an ODBC data source.
  • Includes the unixODBC Driver Manager on Unix platforms and the Microsoft Driver Manager on Windows.
  • Has thread-safe versions for platforms supporting threads.
  • Supports fallback OOB servers to increase service availability. If the primary server is unable to service a request, fallback servers can be swapped in and out automatically without interruption of service.

Server

The OOB Server is a multi-threaded service running under the Windows service manager or inetd/xinetd on Unix or it is a standalone application. It receives ODBC API calls from the OOB Client and directs them to the requested ODBC driver.

In addition, the OOB Server:

  • Contains an HTTP Administration Server which can be used to configure, monitor and control the OOB Server.
  • Uses native OS authentication to protect access to your data sources and the OOB HTTP Administration Server.
  • Lets you secure data transmitted across the network from the OOB client by using an encrypted connection. This protects your private data from attackers who try to capture unencrypted data by using a packet sniffer.
  • Supports access control rules that let you restrict access to the OOB Server by user, machine or network address.
  • Can protect thread-unsafe ODBC drivers when accessed from a multi-threaded application.
  • Provides statistics on uptime, CPU usage, total connections, total successful connections, active connections, peak concurrent connections, time of last connect and disconnect and list of connecting clients.
  • Audits connection activity to a file. Generates audit log (and native Windows event log) entries for connection attempts denied due to invalid authentication details, a connection limit or an access control rule.
  • Can display a list of configured System DSNs in the HTTP Administration Server. The System DSNs are therefore visible in any Web browser.
  • Can limit the total number of concurrent connections or connections from a particular client. Also logs all clients that have connected.
  • Supports access control lists that let you restrict access to DSNs by user, machine or network address.
  • Can restrict remote access to the HTTP Administration Server by user, machine or network address. Remote access can also be disabled entirely.
  • Allows individual HTTP Administration Server pages to be password protected or disabled. For example, the pages that let you change OOB configuration settings, browse DSNs and their underlying databases.
  • Allows these statistics to be exported to timestamped file: average connections per minute, connections per client.
  • Rotates audit files automatically.
  • Lets you view audit files in the HTTP Administration Server.
  • Can provide a graphical representation of connection history and auditable events helping you identify daytime trends and plan downtime.
  • Can provide data source statistics including connections per DSN and average time per connection.
  • Logs failing SQL. This helps you track down who or what is failing to query your database and the reason for the failure.
  • Lets you export configuration details and licenses to create backup copies. You can reduce the time taken to administer servers by importing configuration details.
  • Supports multiple network interface cards. The OOB Server can either listen on one network interface or all network interfaces. The default behaviour is to listen on multiple networks.
  • Provides a remote DSN explorer allowing DSN, tables, columns, and rows to be viewed in your browser. Browsing remote DSNs is useful when writing your client application on a different machine to the one on which the DSNs have been added.
  • Supports process affinity on Windows. This lets you define which CPUs are available to the OOB Server process on Windows machines with multiple CPUs.
  • Can enable connection pooling in the Driver Manager, reducing connection times for applications that repeatedly open and close ODBC connections.

The OOB Server uses the database manufacturer's supplied ODBC driver so if the protocol is changed by the database manufacturer, OOB automatically supports these changes since database manufacturers always keep their ODBC driver synchronised with the database. This is not true of some other OOB competitors which use what they call wire protocol drivers; these drivers always have to be updated when the protocol changes to support new or changed features. An example of this is Microsoft SQL Server, where OOB uses the Microsoft SQL Server ODBC driver to access Microsoft SQL Server. If the TDS (Tabular DataStream) protocol is changed, OOB automatically tracks this change. For example, when TDS changed between Microsoft SQL Server 6 and 7, Easysoft made no changes to OOB to support the new functionality.

Conformance to Standards

OOB supports ODBC 1.0–3.5.

Although the OOB Client is an ODBC driver, you can only use the ODBC functionality provided by the ODBC driver at the server end.

ODBC Functions

All the following ODBC functions are fully supported by the OOB, although support in the ODBC driver used behind the OOB Server may differ. A call to SQLGetFunctions from the application will return the functions supported in the remote ODBC driver and not those supported by the OOB Client.

There are no ODBC functions partially supported or unsupported.

The following ODBC installer functions are provided by the OOB Setup library:

The following ODBC functions are provided by the Driver Manager:

ODBC Data Types

  • SQL_CHAR
  • SQL_WCHAR
  • SQL_VARCHAR
  • SQL_WVARCHAR
  • SQL_LONGVARCHAR
  • SQL_WLONGVARCHAR
  • SQL_NUMERIC
  • SQL_DECIMAL
  • SQL_SMALLINT
  • SQL_INTEGER
  • SQL_REAL
  • SQL_FLOAT
  • SQL_DOUBLE
  • SQL_BIT
  • SQL_TINYINT
  • SQL_BIGINT
  • SQL_BINARY
  • SQL_VARBINARY
  • SQL_LONGVARBINARY
  • SQL_TYPE_DATE
  • SQL_TYPE_TIME
  • SQL_TYPE_TIMESTAMP
  • SQL_INTERVALS (all types)

Supported SQL

The OOB does not examine any SQL passed through ODBC calls. The SQL supported is that SQL supported by the remote ODBC driver behind the OOB Server.

ODBC Features

The OOB supports all ODBC features supported by the remote ODBC driver behind the OOB Server with one exception:

Driver specific SQL_IS_POINTER attributes to SQLSetConnectAttr, SQLSetStmtAttr and SQLSetDescField are not supported. To our knowledge, no current ODBC drivers have driver-specific pointer attributes.

The OOB provides transparent access to the remote ODBC driver with the following exceptions:

  • Calls to SQLGetInfo for SQL_DRIVER_NAME, SQL_DRIVER_ODBC_VER, SQL_DRIVER_VER, (driver name, driver ODBC version, driver version) return OOB Client specific values instead of values from the remote ODBC driver. This may be overridden with GetInfoPassThru connection or DSN attribute.
  • The results of most SQLGetInfo calls are cached in the OOB Client so that multiple calls for the same Info Value in the ODBC application are only seen once in the remote ODBC driver.
  • Any error generated by OOB itself has "[Easysoft ODBC (Client)]" or "[Easysoft ODBC (Server)]" appended to the ODBC diagnostic string. For example, if you attempt to access an OOB Server from a client denied access in the OOB Server's access control rules.
  • Row-wise binding of columns is not duplicated in the remote ODBC driver by OOB. Instead, any row bound columns are converted to column-bound columns in the remote ODBC driver and converted to row bound columns in the OOB Client and the ODBC application. As far as the ODBC application is concerned, row-wise binding is occurring and this should not have any detrimental affects on the ODBC application other than possibly a very small increase in time due to conversion.
  • If the connection or DSN attribute BlockFetchSize is set to a non-zero value and the right conditions apply (see the OOB documentation), the OOB client will bind the columns itself as an optimisation. The remote ODBC driver will see SQLBindCol and SQLFetch calls instead of SQLFetch and SQLGetData calls.
  • If the connection or DSN attribute MetaDataBlockFetch is enabled (it is by default), the optimisation above for BlockFetchSize is performed automatically for the metadata calls (for example, SQLTables). More information is available in the OOB documentation).
  • Some repeated calls to SQLBindParameter by the ODBC application are not passed on to the remote ODBC driver. This is an optimisation that should have no effect on the ODBC application.

Thread Safety

  • The Windows OOB Client is thread-safe. This means it is safe to use behind multi-threaded applications (as all ODBC 3.0 drivers are supposed to be).
  • The non-Windows OOB Client is available with a thread-safe driver (OOB_r) version and a non-thread-safe driver (OOB) version, because:
    • Not all versions of Unix operating systems have a thread library (for example, Posix, GNU Threads) or thread-safe runtime C library.
    • On some Unix operating systems, mixing libraries built depending on threads and libraries not using threads does not work.

Multi-Threaded Application

  • The Windows OOB Server is a multi-threaded application, which may run in either multi-threaded or MultiProcess mode.

    The default mode is multi-threaded, which means that the OOB Server creates a new thread to handle each connection from an OOB Client, whereas in MultiProcess mode, the OOB Server creates a new process for each connection from an OOB Client.

    If the ODBC driver you are using is not thread-safe (for example, Microsoft Access Jet versions prior to 4.0, see the knowledge base), the OOB Server should be run in MultiProcess mode.

  • Because the OOB Server is a multi-threaded application, it can take full advantage of the performance benefits available from systems with multiple processors, from multi-core platforms such as those based on the Intel® CoreTM Duo processor and from systems that support Hyper-Threading Technology (HT Technology).
  • The non-Windows OOB Server is single-threaded application. Every time an OOB Client connects to the OOB Server port, inetd/xinetd starts a new OOB Server process to handle the connection. There can only be one thread of execution in these circumstances.

    If the OOB Server is run standalone (without inetd/xinetd) then the same principle applies, only this time the OOB Server starts a new process to handle each connection.

Demos

The Easysoft ODBC-ODBC Bridge (OOB)

Diagrams

Connect a 64-bit ODBC application to a 32-bit ODBC driver. For example, connect a 64-bit Windows application to a 32-bit Microsoft Access Driver (*.mdb).

Connect an ODBC application to a remote ODBC data source. For example, connect a Linux application to a Windows ODBC data source.

Platforms

The ODBC-ODBC Bridge Server is currently available on these platforms:

Version Platform Distribution
v2.6 (ODBC 3.5) AIX (PPC) (32 - Bit) (4.3-7.2)
v2.6 (ODBC 3.5) AIX (PPC) (64 - Bit) (5.0-7.2)
v2.6 (ODBC 3.5) HP-UX (Itanium i64) (32 - Bit) (11i)
v2.6 (ODBC 3.5) HP-UX (Itanium i64) (64 - Bit) (11i)
v2.6 (ODBC 3.5) Linux (x86) (32 - Bit) (kernel 2.2-5.0+, glibc 2.1+)
v2.6 (ODBC 3.5) Linux (x86) (64 - Bit) (kernel 2.6-5.0+, glibc 2.3.5+)
v2.6 (ODBC 3.5) SCO Unixware (x86) (32 - Bit) (7.0)
v2.6 (ODBC 3.5) Solaris (Sparc) (32 - Bit) (2.6-2.11)
v2.6 (ODBC 3.5) Solaris (Sparc) (64 - Bit) (2.8-2.11)
v2.6 (ODBC 3.5) Solaris (x86) (32 - Bit) (2.8)
v2.6 (ODBC 3.5) Windows (x86) (32 - Bit, 64 - Bit) (7, 8, 2012 R2, 10, 2016, 2019,11,2022)
v2.5 (ODBC 3.5) Linux (ARMv71) (32 - Bit) (Raspberry Pi, kernel 4.9.41-v7+, glibc 2.24+)
v2.3 (ODBC 3.5) HP-UX (PA-Risc) (32 - Bit) (10.10-11)
v2.3 (ODBC 3.5) HP-UX (PA-Risc 2) (64 - Bit) (11)
v2.3 (ODBC 3.5) Linux (Itanium i64) (64 - Bit) (kernel 2.4-2.6, glibc 2.2.5)
v2.3 (ODBC 3.5) SCO Open Server (x86) (32 - Bit) (5)
v2.3 (ODBC 3.5) Solaris (x86) (64 - Bit) (2.8)
v2.0 (ODBC 3.5 (32-Bit)) FreeBSD (x86) (32 - Bit) (5.4)
v2.0 (ODBC 3.5 (32-Bit)) Irix (MIPS) (32 - Bit) (6.5)
v2.0 (ODBC 3.5 (32-Bit)) Irix (MIPS) (64 - Bit) (6.5)
v2.0 (ODBC 3.5 (32-Bit)) Sinix (MIPS) (32 - Bit) (5.4.3)
v2.0 (ODBC 3.5 (32-Bit)) Tru64 (Alpha) (64 - Bit) (5.0)
v1.4 (ODBC 3.5 (32-Bit)) Interix (x86) (32 - Bit) (3.5)

The ODBC-ODBC Bridge Client is currently available on these platforms:

Version Platform Distribution
v2.6 (ODBC 3.5) AIX (PPC) (32 - Bit) (4.3-7.2)
v2.6 (ODBC 3.5) AIX (PPC) (64 - Bit) (5.0-7.2)
v2.6 (ODBC 3.5) HP-UX (Itanium i64) (32 - Bit) (11i)
v2.6 (ODBC 3.5) HP-UX (Itanium i64) (64 - Bit) (11i)
v2.6 (ODBC 3.5) Linux (x86) (32 - Bit) (kernel 2.2-5.0+, glibc 2.1+)
v2.6 (ODBC 3.5) Linux (x86) (64 - Bit) (kernel 2.6-5.0+, glibc 2.3.5+)
v2.6 (ODBC 3.5) SCO Unixware (x86) (32 - Bit) (7.0)
v2.6 (ODBC 3.5) Solaris (Sparc) (32 - Bit) (2.6-2.11)
v2.6 (ODBC 3.5) Solaris (Sparc) (64 - Bit) (2.8-2.11)
v2.6 (ODBC 3.5) Solaris (x86) (32 - Bit) (2.8)
v2.6 (ODBC 3.5) Windows (x86) (32 - Bit, 64 - Bit) (7, 8, 2012 R2, 10, 2016, 2019,11,2022)
v2.5 (ODBC 3.5) Linux (ARMv71) (32 - Bit) (Raspberry Pi, kernel 4.9.41-v7+, glibc 2.24+)
v2.3 (ODBC 3.5) HP-UX (PA-Risc) (32 - Bit) (10.10-11)
v2.3 (ODBC 3.5) HP-UX (PA-Risc 2) (64 - Bit) (11)
v2.3 (ODBC 3.5) Linux (Itanium i64) (64 - Bit) (kernel 2.4-2.6, glibc 2.2.5)
v2.3 (ODBC 3.5) SCO Open Server (x86) (32 - Bit) (5)
v2.3 (ODBC 3.5) Solaris (x86) (64 - Bit) (2.8)
v2.0 (ODBC 3.5 (32-Bit)) FreeBSD (x86) (32 - Bit) (5.4)
v2.0 (ODBC 3.5 (32-Bit)) Irix (MIPS) (32 - Bit) (6.5)
v2.0 (ODBC 3.5 (32-Bit)) Irix (MIPS) (64 - Bit) (6.5)
v2.0 (ODBC 3.5 (32-Bit)) Sinix (MIPS) (32 - Bit) (5.4.3)
v2.0 (ODBC 3.5 (32-Bit)) Tru64 (Alpha) (64 - Bit) (5.0)
v1.4 (ODBC 3.5 (32-Bit)) Interix (x86) (32 - Bit) (3.5)

Download ODBC-ODBC Bridge.

HP Integrity Ready PartnerHP Integrity Ready

The Easysoft ODBC-ODBC Bridge for HP-UX and Linux Itanium was built and tested on HP Integrity Servers, which offer maximum hardware potential, reduced costs and unsurpassable performance.

Hardware Requirements

Depending on the platform, you will need up to 22MB of disk space for the installed programs and 22MB of temporary disk space during the installation.

Software Requirements

OpenVMS Alpha - UCX 5.0, 5.0A or better

Windows 9x - Winsock 2

To install OOB on Unix you need:

  • a shell (/bin/sh)
  • the programs:

    pwd, grep, test ([) awk, cut, ps, sed, cat, wc, head, uname, find, id, tr


Oracle is a registered trademark of Oracle Corporation and/or its affiliates.