search cancel

KNOWN ISSUE: Invalid length parameter passed to the RIGHT function

book

Article ID: 162594

calendar_today

Updated On:

Products

IT Analytics

Issue/Introduction

When attempting to process the DLP cubes the dimension Network Incident - Protocol throws an error preventing processing from completing successfully.

Error: OLE DB error: OLE DB or ODBC error: Invalid length parameter passed to the RIGHT function.; 42000. Errors in the OLAP storage engine: An error occurred while the 'Network Incident - Protocol' attribute of 'DLP Network Incident Protocol' dimension from the 'ITAnalytics' database was being processed.

Cause

The SQL view that is used to pull the 'Network Incident - Protocol' dimension was designed to expect that all protocal names pulled from the DLP database would contain either a colon ':' or a period '.'. If a protocol name doesn't contain one of these characters an error is generated.

Resolution

This will be addressed in a future release.

For those experiencing the issue now they can use the following information to update the view vITAnalytics_DLP_ProtocolDim

  1. Open SQL Management Studio
  2. Connect to the Database Engine service on the SQL server that is housing either your Symantec_CMDB database or the IT Analytics database (if you are using the stand-alone version of IT Analytics).
  3. Expand the tree view of your specific database.
  4. Right click on Views and choose filter.
  5. Set the Filter setting to _DLP_
  6. Find the view vITAnalytics_DLP_ProtocolDim and right click & choose Script View As ->Alter to ->New Query Window
  7. Find the section of script below (Please note if you are connecting to multiple DLP databases you may have to replace this section of script multiple times)

CASE WHEN CHARINDEX('.', PROTOCOLNAME) > 0 THEN
    right(PROTOCOLNAME,charindex('.',reverse(PROTOCOLNAME))-1)
    ELSE right(PROTOCOLNAME,charindex(':',reverse(PROTOCOLNAME))-1)

     8. Replace this portion of code with

CASE WHEN CHARINDEX('.', PROTOCOLNAME) > 0 THEN
    right(PROTOCOLNAME,charindex('.',reverse(PROTOCOLNAME))-1)
    WHEN CHARINDEX(':', PROTOCOLNAME) > 0 THEN
    right(PROTOCOLNAME,charindex(':',reverse(PROTOCOLNAME))-1) 
    ELSE PROTOCOLNAME

     9. Execute the query to update the view.