<docbook><section><title>ConfigFirebirdExpressOSX</title><para> </para><bridgehead class="http://www.w3.org/1999/xhtml:h2"> OpenLink  ODBC Driver for Firebird (Express Edition) Installation and Configuration</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Configuration </bridgehead>
<para>To configure an ODBC DSN, run the OpenLink iODBC Administrator located in the /Applications/iODBC folder:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-14.png" /></figure></para>
<para>Click the Add button:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-15.png" /></figure></para>
<para>Select the OpenLink Firebird Driver (Express Edition) v6.0 from the list of available drivers:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-16.png" /></figure></para>
<para>Provide a suitable DSN name and optional description for the Data Source:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-17.png" /></figure></para>
<para>The Connection Tab takes the minimum parameters required to make a connection to the target database:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-18.png" /></figure></para>
<itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Hostname</emphasis> - The hostname of the server on which Firebird is running</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Port</emphasis> - The port on which the Firebird instance listens</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>DatabasePath</emphasis> - The database name of a valid database</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>User name</emphasis> - A valid Firebird user</listitem>
</itemizedlist><para>The advanced button displays additional optional parameters that can be configured.</para><para> 
</para><table><title /><tgroup><thead /><tbody>
<row><entry><emphasis>Name</emphasis></entry><entry><emphasis>Description</emphasis></entry></row>
<row><entry> <emphasis>BlobBufferLength</emphasis></entry><entry> Sets BLOB buffer length. This value influences performance when working with BLOB fields.</entry></row>
<row><entry> <emphasis>BlobBufferSize</emphasis> </entry><entry> Size of the BLOB buffer in bytes.</entry></row>
<row><entry> <emphasis>BuffersNumber</emphasis> </entry><entry> Number of cache buffers that should be allocated for this connection. Should be specified for ClassicServer instances. SuperServer has a server-wide configuration parameter.</entry></row>
<row><entry> <emphasis>DefaultIsolation</emphasis> </entry><entry> Sets the default transaction isolation level using a string. The following strings are allowed: &#39;TRANSACTION_READ_COMMITTED&#39;, &#39;TRANSACTION_REPEATABLE_READ&#39;, &#39;TRANSACTION_SERIALIZABLE&#39; </entry></row>
<row><entry> <emphasis>Encoding </emphasis></entry><entry> Sets encoding for connections produced by this data source.</entry></row>
<row><entry> <emphasis>LoginTimeout</emphasis> </entry><entry> Sets login timeout for this datasource in seconds.</entry></row>
<row><entry> <emphasis>RoleName</emphasis> </entry><entry> SQL role to use. </entry></row>
<row><entry> <emphasis>SocketBufferSize</emphasis> </entry><entry> Socket buffer size in bytes. </entry></row>
<row><entry> <emphasis>SqlDialect</emphasis> </entry><entry> SQL dialect of the client. </entry></row>
<row><entry> <emphasis>TimestampUsesLocalTimezone</emphasis> </entry><entry> &#39;true&#39; if the JayBird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment. </entry></row>
<row><entry> <emphasis>UseStandardUdf</emphasis> </entry><entry> &#39;true&#39; if driver should assume that standard UDF are installed. </entry></row>
<row><entry> <emphasis>UseStreamBlobs</emphasis> </entry><entry> &#39;true&#39; if stream blobs should be created. Otherwise &#39;false.&#39; </entry></row>
<row><entry> <emphasis>UseTranslation</emphasis> </entry><entry> Path to the character translation table. </entry></row>
<row><entry> <emphasis>CharSet</emphasis> </entry><entry> Character set for the connection. Similar to encoding property but accepts Java names instead of Firebird names. </entry></row>
</tbody></tgroup></table>
<para> As indicated above, parameters on the options and preferences tabs are not required for a basic connection:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-19.png" /></figure></para>
<itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Row Buffer Size</emphasis> - This attribute specifies the number of records to be transported over the network in a single network hop.
 Values can range from 1 to 99.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Hide Login Dialog</emphasis> - Suppresses the ODBC &quot;Username&quot; and &quot;Password&quot; login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Read Only connection</emphasis> - Specifies whether the connection is &quot;Read-only.&quot; Make sure the checkbox is unchecked to request a &quot;Read/Write&quot; connection.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Drop Catalog from Meta calls</emphasis> - Enable this option to have the catalog name not appear for tables, views, and procedures when requesting database meta-data.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>No support of quoted identifier</emphasis> - If set, the call SQLGetInfo for &#39;SQL_IDENTIFIER_QUOTE_CHAR&#39; will return a space (&quot; &quot;).
 It can be used if the DBMS doesn&#39;t support quoted SQL like select * from &quot;account.&quot;</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Drop Schema from Meta calls</emphasis> - Enable this option to have the schema-name not appear for tables, views, and procedures when requesting database meta-data.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>SQLStatistics disabled</emphasis> -  Check this box to have SQLStatistics() return an empty resultset.
 Use this if the underlying database does not support retrieval of statistics about a table (e.g.
 what indexes it has).</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem>  <emphasis>No support of search string escape</emphasis> - If set, the call SQLGetInfo for &#39;SQL_LIKE_ESCAPE_CLAUSE&#39; will return a space (&quot; &quot;).
 It can be used if the DBMS doesn&#39;t support SQL escape patterns.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Patch of NULL size of SQL_CHAR</emphasis> -  If set, this option overrides the size of SQL_CHAR column type returned by the database with the value set in the text box (in bytes).
 With a default value of 0, the driver uses the size returned by the database.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>SQL_DBMS Name</emphasis> - Manually overrides the SQLGetInfo(SQL_DBMS_NAME) response returned by the driver.
 This is required for products like Microsoft InfoPath for which the return the value should be &quot;SQL Server&quot;.</listitem>
</itemizedlist><figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-20.png" /></figure>
<itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Initialization SQL</emphasis> - Lets you specify a file containing SQL statements that will be run automatically against the database upon connection.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Cursor Sensitivity</emphasis> - 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&#39;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&#39;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 &#39;High Cursor Sensitivity&#39; 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.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Max Rows Override</emphasis> - Allows you to define a limit on the maximum number of rows to be returned from a query.
 The default value of 0 means no limit.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Disable Autocommit</emphasis> - Changes the default commit behaviour of the OpenLink driver.
 The default mode is AutoCommit (box unchecked).</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Disable Rowset Size Limit</emphasis> - Disables a limitation enforced by the cursor library.
 This limitation is enforced by default.
 It prevents the driver from claiming all available memory in the event that a resultset  generated from an erroneous query is very large.
 The limit is normally never reached.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Defer fetching of long data</emphasis> - Defers fetching of LONG (BINARY, BLOB etc.) data unless explicitly requested in a query.
 This provides significant performance increases when fields in query do not include LONG data fields.</listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem> <emphasis>Multiple Active Statements Emulation</emphasis> - Enables use of Multiple Active statements in an ODBC application even if the underlying database does not allow this, as it is emulated in the driver.</listitem>
</itemizedlist><para>Click on the &#39;Test Data Source&#39; button to make a connection to the database to verify connectivity:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-21.png" /></figure></para>
<para> Enter a valid username and password for the database:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-22.png" /></figure></para>
<para>A successful connection to the database has been made:<figure><graphic fileref="ConfigFirebirdExpressOSX/ee-frb-23.png" /></figure></para>
</section></docbook>