[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