Server class oraodbc

A server using server class oraodbc is Oracle version 10.0 or higher.

See ”Server class oraodbc” in SQL Anywhere Server - SQL Usage.

Table 5-1 and Table 5-2 identify how Sybase IQ converts data types to Oracle consolidated data types.

Sybase IQ to Oracle data type mappings

When you use a CREATE TABLE statement to create a remote table on an Oracle server, Sybase IQ converts the IQ data types to corresponding Oracle data types:

Table 5-1: Data mappings to a new remote Oracle table

Sybase IQ data type

Oracle data type

BIGINT

NUMBER(20,0)

BINARY(n)

if (n > 255) LONG RAW else RAW(n)

BIT

NUMBER(1,0)

CHAR(n)

If (n > 255) LONG else VARCHAR(n)

CHARACTER VARYING(n)

VARCHAR2(n)

CHARACTER(n)

VARCHAR2(n)

DATE

DATE

DATETIME

DATE

DECIMAL(prec, scale)

NUMBER(prec, scale)

DOUBLE

FLOAT

FLOAT

FLOAT

INT

NUMBER(11,0)

LONG BINARY

LONG RAW

LONG VARCHAR

LONG or CLOB

MONEY

NUMBER(19,4)

NUMERIC(prec, scale)

NUMBER(prec, scale)

REAL

FLOAT

SMALLDATETIME

DATE

SMALLINT

NUMBER(5,0)

SMALLMONEY

NUMBER(10,4)

TIME

DATE

TIMESTAMP

DATE

TINYINT

NUMBER(3,0)

UNIQUEIDENTIFIERSTR

CHAR(36)

UNSIGNED BIGINT

NUMBER(20,0)

UNSIGNED INT

NUMBER(11,0)

UNSIGNED INTEGER

NUMBER(11,0)

VARBINARY(n)

if (n > 255) LONG RAW else RAW(n)

VARCHAR(n)

VARCHAR2(n)

Oracle to Sybase IQ data mappings

When you use a CREATE EXISTING statement to create a proxy table to an existing Oracle table, IQ converts the Oracle data types to corresponding IQ data types:

Table 5-2: Data mappings to existing Oracle tables

Oracle data type

IQ data type

BFILE

LONG BINARY

BLOB

LONG BINARY

CHAR(n)

CHAR(n)

CLOB

LONG VARCHAR

DATE

TIMESTAMP

DEC(prec, scale)

NUMERIC(prec, scale)

DECIMAL(prec, scale)

NUMERIC(prec, scale)

DOUBLE PRECISION

DOUBLE

FLOAT

DOUBLE

INT

NUMERIC(38,0)

INTEGER

NUMERIC(38,0)

NCHAR(n)

NCHAR(n)

NCLOB

LONG NVARCHAR

NUMBER(prec, scale)

NUMERIC(prec, scale)

NUMERIC(prec, scale)

NUMERIC(prec, scale)

NVARCHAR2(n)

VARCHAR(n)

RAW(n)

VARBINARY(n)

REAL

DOUBLE

SMALLINT

NUMERIC(38,0)

TIMESTAMP

TIMESTAMP

VARCHAR2(n)

VARCHAR(n)