Using Oracle LTRIM function in TIBCO Data Virtualization results in an error

Using Oracle LTRIM function in TIBCO Data Virtualization results in an error

book

Article ID: KB0076944

calendar_today

Updated On:

Products Versions
TIBCO Data Virtualization All supported versions

Description

In TIBCO Data Virtualization, properties to push LTRIM function to the underlying Oracle data source are not present which results in the query to fail with following error:

"Cannot push selectable because the data source Oracle does not support the function ~LTRIM"

Issue/Introduction

Using Oracle LTRIM function in TIBCO Data Virtualization results in an error

Environment

Windows, UNIX

Resolution

There are two ways to resolve this error. 

Method 1: 
Add the following property in the oracle.capabilities file located
 at "[TDV_Server_Install_dir]\apps\dlm\cis_ds_oracle\conf\" 
LTRIM(~string,~string): LTRIM($1,$2). Save the file and restart the TDV Server Services for the changes to take effect.

Note: If current TDV instance is on a hotfixed version, copy the function to the oracle<TDV_version><Hotfix_version>.capability file present at the same path location. 

Method 2: 
To retain the changes when installing hotfixes or patches, add the below block in the values.xml file located at [TDV_Server_Install_dir]\conf\adapters\systems\[Oracle_version_adapter]\[Oracle_version_file]". Save the file and restart the TDV Server Services for the changes to take effect.

<common:attribute xmlns:common="http://www.compositesw.com/services/system/util/common">
  <common:name>/custom/LTRIM(~string,~string)</common:name>
  <common:type>STRING</common:type>
  <common:value>LTRIM($1,$2)</common:value>
  <common:configID>LTRIM(~string,~string)</common:configID>
</common:attribute>