[fdo-trac] #55: ODBC: Native Linux drivers for Oracle, Sybase

FDO trac_fdo at osgeo.org
Wed Apr 11 14:55:17 EDT 2007


#55: ODBC: Native Linux drivers for Oracle, Sybase
---------------------------+------------------------------------------------
 Reporter:  gavincramer    |         Owner:  gavincramer
     Type:  defect         |        Status:  closed     
 Priority:  major          |     Milestone:  3.3.0      
Component:  ODBC Provider  |       Version:  3.2.0      
 Severity:  3              |    Resolution:  fixed      
 Keywords:                 |   External_id:             
---------------------------+------------------------------------------------
Changes (by gavincramer):

  * status:  assigned => closed
  * resolution:  => fixed

Comment:

 This enables ODBC Provider to use native (vendor-supplied) drivers on
 Linux for
 Oracle 10gR2 and Sybase 15.0.  Various oddities and defects in each driver
 needed workarounds.

 This change makes header files changes that make it highly adviseable to
 do a
 FULL REBUILD of the GenericRdbms component after synchronising files.

 Unit tests for ODBC-Oracle have been redirected to use only the native
 Oracle
 ODBC driver, and not Easysoft's driver.  Easysoft is no longer supported,
 although tests for it may be turned back on at some point, just to check
 for
 regression.  Previously suppressed (on Linux) tests for views and column
 types
 have now been turned on to take advantage of the native Oracle driver.

 The FDO ODBC convention of using a DSN's "UserId" field to name a
 targetted
 schema is now supported on Linux.  It was previously only used on Windows.
 This
 gets around a weakness in Oracle's ODBC drivers wherein, by default, all
 schemas
 were visible (causing poor performance and often unexpected behaviour).

 A new suite of unit tests "OdbcSybaseTests", exercise basic database
 creation,
 data insertion and selection.

 Example content for /etc/odbc/ini for Oracle and Sybase respectively...

 -------------------------

 [GraniteOracleFdoTest]
 Application Attributes          = T
 Attributes              = W
 BatchAutocommitMode             = IfAllSuccessful
 BindAsFLOAT             = F
 CloseCursor             = F
 DisableDPM              = F
 DisableMTS              = T
 Driver          = Oracle 10g ODBC driver
 DSN             = GraniteOracleFdoTest
 EXECSchemaOpt           =
 EXECSyntax              = T
 Failover                = T
 FailoverDelay           = 10
 FailoverRetryCount              = 10
 FetchBufferSize         = 64000
 ForceWCHAR              = F
 Lobs            = T
 Longs           = T
 MetadataIdDefault               = F
 QueryTimeout            = T
 ResultSets              = T
 ServerName              = R102
 SQLGetData extensions           = F
 Translation DLL         =
 Translation Option              = 0
 DisableRULEHint         = T
 UserID          = FDO_GAVIN_ODBC

 [GraniteSybaseFdoTest]
 Description             = Sybase ODBC Data Source
 UserID          = sa
 Password                = youllhavetoguess
 Driver          = Adaptive Server Enterprise
 Server          = OTWGCRH
 Port            = 5000
 Database                = fdo_gavin_odbc
 UseCursor               = 1

 -------------------------

 Example content for /etc/odbcinst.ini...

 -------------------------

 [Oracle 10g ODBC driver]
 Description             = Oracle ODBC driver for Oracle 10g
 Driver          =
 /opt/oracle/product/10.2.0/instantclient/libsqora.so.10.1
 Setup           =
 FileUsage               =
 CPTimeout               =
 CPReuse         =

 [Adaptive Server Enterprise]
 Description             = Sybase ODBC Driver
 Driver          = /opt/sybase/DataAccess/ODBC/lib/libsybdrvodb.so
 FileUsage               = 1

 -------------------------

 Reviewed by:  Dan Stoica

 Log (includes changes from 3.2.x branch for Ticket #55 and Ticket #59):

 Revision: 2730
 Author: gavincramer
 Date: 2:32:48 PM, Wednesday, April 11, 2007
 Message:
 Ticket #55 ODBC: Native Linux drivers for Oracle, Sybase
 Ticket #59 ODBC: Native Linux drivers for Sybase 12.5.4, 15.0 -
 autogenerated columns
 ----
 Modified : /trunk/Providers/GenericRdbms/Inc/Rdbi/vndr_info.h
 Modified :
 /trunk/Providers/GenericRdbms/Src/ODBC/Fdo/FdoRdbmsOdbcConnection.cpp
 Modified : /trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/Mgr.cpp
 Modified : /trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/Mgr.h
 Modified :
 /trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/Rd/OraColumnReader.cpp
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/col_.c
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/connect.c
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/constants.h
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/execute.c
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/objects_.c
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/structs.h
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/users_.c
 Modified : /trunk/Providers/GenericRdbms/Src/ODBCDriver/vndr_info.c
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Common/FdoInsertTest.h
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcBaseSetup.cpp
 Modified : /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcBaseSetup.h
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcConnectionUtil.cpp
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoConnectTest.cpp
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoDeleteTest.cpp
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoDeleteTest.h
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoInsertTest.cpp
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoInsertTest.h
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoSelectTest.cpp
 Modified :
 /trunk/Providers/GenericRdbms/Src/UnitTest/Odbc/OdbcFdoSelectTest.h

-- 
Ticket URL: <http://trac.osgeo.org/fdo/ticket/55#comment:2>
FDO <http://fdo.osgeo.org/>
Feature Data Objects


More information about the fdo-trac mailing list