EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

Restrictions of using LONG and CLOB/BLOB datatypes in Oracle


Community Admin

• Strategy


This document goes over some limitations of using long data types in Oracle

The following article provides information about supported data types in Strategy when running reports against an Oracle database: 
MicroStrategy Supported Oracle Datatypes and Functions
Strategy supports Oracle's LONG and CLOB/BLOB data types, however, there are SQL usage restrictions for those datatypes. Some of these have been explained below: 
Incorrect usage of LONG datatype
1. It is not possible to create an object type with a LONG attribute (user-defined object type).


​Error Message: ORA-00997: illegal use of LONG datatype

Example
create table TG8FAMYL9AM000 nologging as
select a12.DT_LONG  DT_LONG,
rank () over( order by sum(a11.DT_FACT) desc nulls last)  WJXBFS1
from DT_FACT_TABLE1 a11
cross join DT_LKP_LONG a12
group by a12.DT_LONG 
Suggestion: Use LOB datatype (CLOB, NCLOB, BLOB) to replace LONG. LONG datatype is supported only for backward compatibility. 
2. LONG columns cannot appear in WHERE conditions for comparison or in GROUP BY, ORDER BY, CONNECT BY clauses.
 

Error Message: ORA-00997: illegal use of LONG datatype

Example:
select a11.DT_LONG  DT_LONG,
(Case when a11.DT_LONG is null then 0 else 1 end)  WJXBFS1
from DT_LKP_LONG a11
where a11.DT_LONG in ('33333')
Incorrect usage of CLOB/BLOB  datatype
1. CLOB/BLOB data type cannot appear in WHERE conditions for comparison
 

Error Message: ORA-00932: inconsistent datatypes: expected - got CLOB/BLOB

Example
select a11.DT_CLOB  DT_CLOB,
(Case when a11.DT_CLOB is null then 0 else 1 end)  WJXBFS1
from DT_LKP_CLOB a11
where a11.DT_CLOB in ('CATHY')
 


Comment

0 comments

Details

Knowledge Article

Published:

November 3, 2017

Last Updated:

November 3, 2017