%META:TOPICPARENT{name="SingleTierLiteInstallWin32"}%
= Installation and Configuration of the Lite Edition (Single-Tier) ODBC Driver for Oracle Data Sources, for Windows=
**Review Preinstallation Documentation:** [[PreinstallOracleLiteWin32|Pre-Installation Requirements]]
%TOC%
== Installation==
# The **Lite Edition (Single-Tier) ODBC Driver for Oracle Data Sources** is distributed in a single .msi file.
# Click the **Open** link that appears in your Downloads dialog.
%BR%%BR%%BR%%BR%
# The installer Publisher dialog will be presented, click the **Run** button to continue.
%BR%%BR%%BR%%BR%
# The installer will display a **Welcome** message. Click **Next.**
%BR%%BR%%BR%%BR%
# The next screen will display the **License Agreement** for the OpenLink Lite Driver. Please read and check the "I accept the license agreement" checkbox. Then, click **Next.**
%BR%%BR%%BR%%BR%
# Your driver needs a license file to operate. Click the Browse button to locate a commercial or evaluation license that you have previously downloaded onto your local hard drive. Alternatively, click the **Try & Buy** button to obtain a commercial or evaluation license. You can also tick the "I don't want to install a license file right now" check box. This option will permit you to install the product; however, you will not be able to use the product until you obtain a commercial or evaluation license key.
%BR%%BR%%BR%%BR%
# Click **Next.**
# Choose from the **Typical**, **Complete**, and **Custom** installation types.
%BR%%BR%%BR%%BR%
# Click **Next.**
# Click the **Install** button.
%BR%%BR%%BR%%BR%
# Installation is complete. Click the **Finish** button.
%BR%%BR%%BR%%BR%
# You may be prompted to restart your computer, if you have a pre-existing OpenLink License Manager running on your computer. This reboot not always necessary, but is generally recommended.
== Configuration ==
# Launch the **ODBC Administrator** [[Win32vs64OdbcAdmin | appropriate to the bitness (32-bit or 64-bit) of your client application and driver]].
%BR%%BR%%BR%%BR%
# Click the **System DSN** tab.
%BR%%BR%%BR%%BR%
# Click the **Add** button. Then, select the OpenLink Lite Driver for Oracle from the list of available drivers. //Select the Unicode version of the driver if and only if you are working with multi-byte character sets, as unnecessary translations can significantly affect ODBC performance.//
%BR%%BR%%BR%%BR%
# Click **Finish**.
# The first dialog prompts for a Data Source Name and optional description.
%BR%%BR%%BR%%BR%
# Click **Next**.
# The second dialog prompts for the required Hostname, Port Number, and Service Name of the target Oracle Database. If the "Connect now to verify all settings are correct" check box is ticked, the optional username and password will be used to make a test connection to the database for that verification.
%BR%%BR%%BR%%BR%
#* **Hostname** — Hostname or IP address of the machine on which the Oracle Database Server is running
#* **Port** — Port Number at which the Oracle Database server is running (**1521** by default)
#* **Service** — Service name of the target Oracle instance
#* **Protocol** — The network protocol to be used for connection (**TCP** by default)
#* **Advanced** — Enables additional Oracle Instant Client connection parameters to be passed, if required
%BR%%BR%%BR%%BR%
#* **XA Info** — This parameter takes another ODBC Data Source Name to achieve Distributed Transaction Processing. More info.
#* **Login ID** — The Oracle DBMS user name to use for the connection
#* **Password** — The password for the specified Oracle DBMS user
# The third dialog takes a combination of database specific and optional parameters:
%BR%%BR%%BR%%BR%
#* **OCIPrefetchRows** — Sets the number of rows to be prefetched. [[WhatDoesOCIPrefetchRowsDo|More]]
#* **OCIPrefetchMemory** — Sets the memory allocated for rows to be pre-fetched. The application then fetches as many rows as will fit into that much memory. [[WhatDoesOCIPrefetchMemoryDo|More]]
#* **Custom Catalogue Views** — Dictates whether custom OpenLink views are used to return metadata for certain ODBC catalog functions: {{{SQLForeignKeys()}}}, {{{SQLPrimaryKeys()}}}, {{{SQLProcedureColumns()}}}, {{{SQLProcedures()}}}, and {{{SQLSpecialColumns()}}}. These custom views provide more metadata than is normally provided by the standard Oracle data dictionary views. [[WhatDoesCustomCatalogViewsDo|More]]
#* **Count stored procedure parameters in SQL Procedures** — This parameter is specific to the Oracle data source. It affects the output from {{{SQLProcedures()}}} when "Custom Catalog Views" is enabled. [[WhatDoesCountStoredProcedureParametersInSQLProceduresDo|More]]
#* **User's own tables first in SQLTables** — This option is specific to OpenLink's Oracle drivers. It prompts the {{{SQLTables()}}} ODBC API call to display the connected user's tables first in table lists. The default ordering is alphabetical.
#* **Show remarks** — Affects output from the {{{SQLColumns()}}} ODBC API call. Use this option in conjunction with Oracle queries. When enabled, the **{{{REMARKS}}}** column of a {{{SQLColumns()}}} result set includes the comments from the **{{{COMMENTS}}}** column of the Oracle {{{ALL_COL_COMMENTS}}} data dictionary view. When disabled, the **{{{REMARKS}}}** column is empty. Disabling **Show Remarks** improves performance.
#* **Empty string isn't NULL behavior** — This parameter forces the driver to differentiate between an Empty string and a {{{NULL}}}, which Oracle does not do by default.
#* **Show synonyms in catalog functions** — This parameter return Oracle Table Synonyms in Catalog calls like {{{SQLTables()}}}.
# Click Next to continue.
# The fourth dialogue enables you to set parameters specific to Transparent Application Failover:
%BR%%BR%%BR%%BR%
#* **Enable TAF** — Instructs the driver to attempt multiple failover connections to alternative DBMS nodes per the Oracle TAF specification. [[http://docs.openlinksw.com/uda/st/udauserrac.html| More]]
#* **Maximum Retries** — The maximum number of times that the driver will retry the connection.
#* **Retry Interval (secs)** — The number of seconds that the driver will wait between connection attempts.
#Click Next to continue.
# The fifth dialogue also enables you to set parameters specific to OCI Connection Pooling:
%BR%%BR%%BR%%BR%
#* **Enable OCI Connection Pooling** — Check to create a separate connection pool for each Oracle instance to which you connect.
#* **Minimum Pool Size** — The minimum number of connections to be opened when the pool is created.
#* **Maximum Pool Size** — The maximum number of connections that can be opened in the pool.
#* **Increment** — The incremental number of connections to be opened when all the connections are busy and a call needs a connection.
#* **Linger time** — The amount of time to wait for a connection when all connections are busy and the maximum number of open connections has been reached.
#* **Wait for free connection** — The length of time the last connection in the pool should linger before the pool is destroyed.
# Click Next to continue.
# The sixth dialog enables you to set optional ODBC connection parameters:
%BR%%BR%%BR%%BR%
#* **Read-only connection** — Specifies whether the connection is "Read-only." Must be unchecked to {{{INSERT}}}, {{{UPDATE}}}, or {{{DELETE}}} records, and to run some Stored Procedures including some built-in functions.
#* **Defer fetching of long data** — Defers fetching of {{{LONG}}} ({{{BINARY}}}, {{{BLOB}}}, etc.) fields in wildcard queries. This provides significant performance increases when fields in query do not include LONG data fields.
#* **Disable interactive login** — Suppresses the ODBC "Username" and "Password" login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.
#* **Row Buffer Size** — This attribute specifies the number of records to be transported over the network in a single network hop. Values can range from 1 to 999.
#* **Max rows Override** — Allows you to set a limit for the maximum number of rows to be returned from a query. The default value of 0 means no limit.
#* **Initial SQL** — Lets you specify a file containing SQL statements that will be run automatically against the database upon connection.
#* **Dynamic Cursor Sensitivity** — Enables or disables the row version cache used with dynamic cursors. When dynamic cursor sensitivity is set **high**, the Cursor Library calculates checksums for each row in the current rowset and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously. If the checksums differ for a row, the row has been updated since it was last fetched and the row status flag is set to {{{SQL_ROW_UPDATED}}}. The row version cache is then updated with the latest checksums for the rowset. From the user's point of view, the only visible difference between the two sensitivity settings is that a row status flag can never be set to {{{SQL_ROW_UPDATED}}} when the cursor sensitivity is low. (The row status is instead displayed as {{{SQL_ROW_SUCCESS}}}.) In all other respects, performance aside, the two settings are the same. Deleted rows don't appear in the rowset. Updates to the row since the row was last fetched are reflected in the row data, and inserted rows appear in the rowset, if their keys fall within the span of the rowset. If your application does not need to detect the row status {{{SQL_ROW_UPDATED}}}, you should leave the **High Cursor Sensitivity** checkbox unchecked, as performance is improved. The calculation and comparison of checksums for each row fetched carries an overhead. If this option is enabled, the table {{{oplrvc}}} must have been created beforehand using the appropriate script for the target database.
#* **Enable logging to the log file** — Check the checkbox and use the associated textbox to provide the full path to a file in which to log diagnostic information.
# Click **Next** to continue.
# The seventh dialog enables you to set additional parameters to enhance compatibility with applications:
%BR%%BR%%BR%%BR%
#* **Enable Microsoft Jet engine options** — Facilitates translation of certain data types for the Microsoft Jet Engine. If you notice that money and other datatypes are mishandled with Microsoft or other applications, test with Jet fix enabled.
#* **Disable Autocommit** — Changes the commit behavior of the OpenLink driver. The default mode is AutoCommit (box unchecked).
#* **Disable rowset size limit** — Disables a limitation enforced by the cursor library. This limitation is enforced by default. It prevents the driver from claiming all available memory when a resultset (typically generated by an accidental query) is very large. The limit is not normally reached.
#* **Multiple Active Statements Emulation** — Enables use of Multiple Active statements in an ODBC application even if the underlying database does not allow this,, by emulation within the driver.
#* **SQL_DBMS Name** — Manually overrides the {{{SQLGetInfo(SQL_DBMS_NAME)}}} response returned by the driver. This is required for products like Microsoft InfoPath for which the value should be "**{{{SQL Server}}}**".
# Click **Next** to continue.
# The final dialog enables you to text your Data Source. Click the **Test Data Source** button.
%BR%%BR%%BR%%BR%
# The DSN has been successfully tested.
%BR%%BR%%BR%%BR%
==Next...==
* [[TestingWindowsODBCDSNs|Test your DSNs with our sample program]].%BR%%BR%
* If anything isn't working as you expect, including errors resulting from the test above, [[UDATroubleshootingResources|see our Troubleshooting Resources]].%BR%%BR%
* Should you decide to purchase a commercial license at the end of your evaluation period, be sure to consult our documentation which explains the placement and uptake of commercial license files and the use of our OpenLink License Manager technology: [[http://wiki.usnet.private/dataspace/dav/wiki/UdaWikiWeb/UDALicenseApplication|License Technology & Application]].