My Oracle Support Banner

ORA-26674 Propagating Milliseconds Value In Timestamp Data Type To Sybase Using Streams (Doc ID 416248.1)

Last updated on JANUARY 11, 2023

Applies to:

Oracle Database Gateway for Sybase - Version 10.2 and later
Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Information in this document applies to any platform.


Goal

Oracle RDBMS 10.2.0.1.0
Streams one-way replication to foreign datastore Sybase
Oracle Transparent Gateway for Sybase 10.2

Transparent Gateway for Sybase is not handling TIMESTAMP data. Any column in Sybase with datatype
datetime is mapped to an Oracle date which loses the time and the milliseconds.
When used in Streams environment and replicating timestamp to datetime, the error received is:

DBA_APPLY_ERROR = ORA-26714: User error encountered while applying
ORA-26674: Column mismatch in '<object_name' (LCR: TS type =TIMESTAMP; DB: TS type=DATE)

The current workaround:

Convert table_a to table_a_shadow at SYBASE side
Create view on top of table_a_shadow at SYBASE side (needed to case the varchar field as DATETIME)

Question:

Is it possible to have a custom rule based transformation created in Streams to map the timestamp
datatype in Oracle as varchar2 (using convertvarchar function) and populate the datetime field in
Sybase?

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Goal
Solution

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.