My Oracle Support Banner

Oracle OLEDB Throws Error "DBCOLUMNFLAGS_ISFIXEDLENGTH" to Handle CHAR(n BYTE) From Linked Server With MS SQL Server (Doc ID 2484393.1)

Last updated on AUGUST 31, 2020

Applies to:

Oracle Provider for OLE DB - Version 12.1.0.2 and later
Microsoft Windows (32-bit)
Microsoft Windows x64 (64-bit)

Symptoms

 Error occurred while querying column CHAR(n BYTE) from MS SQL Server with linked server using Oracle OLEDB provider.

 Msg 7356, Level 16, State 1, Line 1
 The OLE DB provider "OraOLEDB.Oracle" for linked server "OrclTestLink" supplied inconsistent metadata for a column.
 The column "GENDER" (compile-time ordinal 2) of object ""TEST"."TEST1"" was reported to have a "DBCOLUMNFLAGS_ISFIXEDLENGTH" of 16 at compile time and 0 at run time.

Changes

 Notes :  In Oracle, you can define the type of a string column as:
                      CHAR(15 BYTE)    – the column can hold string of up to 15 bytes,
                      CHAR(15 CHAR)   – the column can hold string of up to 15 characters,
                      Simply CHAR(15)  – the semantics depend on the value of the NLS_LENGTH_SEMANTICS parameter of the session creating the table.
             By default your table is created with byte semantics.

Cause

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
Symptoms
Changes
Cause
Solution
References


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