Author |
Message
|
sankritya |
Posted: Thu Apr 28, 2016 10:15 am Post subject: Optional feature not implemented. |
|
|
Centurion
Joined: 14 Feb 2008 Posts: 100
|
I ham calling a Oracle function from WMB7.
Function declaration in WMB
CREATE PROCEDURE checkDataExist (
IN data1 CHARACTER,
IN data2 CHARACTER
)
RETURNS BOOLEAN
LANGUAGE DATABASE
EXTERNAL NAME "AB.ABCD.checkDataExist";
Function call in WMB
DECLARE dataAlreadyExists BOOLEAN FALSE ;
CALL checkDataExist (Environment.Variables.data1,Environment.Variables.data2) INTO dataAlreadyExists;
I am getting the below exception. Need help to understand the error as there are other procedures ( not functions) defined in same package which can be accessed easily in same service call.
Quote: |
(0x01000000):DatabaseException = (
(0x03000000):File = '/build/S700_P/src/DataFlowEngine/ImbOdbc.cpp'
(0x03000000):Line = 358
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPmsgs'
(0x03000000):Severity = 3
(0x03000000):Number = 2321
(0x03000000):Text = 'Root SQL exception'
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '-1'
)
(0x01000000):Insert = (
(0x03000000):Type = 14
(0x03000000):Text = 'libbipodbc.so'
)
(0x01000000):DatabaseException = (
(0x03000000):File = '/build/S700_P/src/DataFlowEngine/ImbOdbc.cpp'
(0x03000000):Line = 541
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPmsgs'
(0x03000000):Severity = 3
(0x03000000):Number = 2322
(0x03000000):Text = 'Child SQL exception'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'HYC00'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '[IBM][ODBC Oracle Wire Protocol driver]Optional feature not implemented.'
|
|
|
Back to top |
|
 |
maurito |
Posted: Thu Apr 28, 2016 10:24 am Post subject: Re: Optional feature not implemented. |
|
|
Partisan
Joined: 17 Apr 2014 Posts: 358
|
sankritya wrote: |
I ham calling a Oracle function from WMB7.
Function declaration in WMB
CREATE PROCEDURE checkDataExist (
IN data1 CHARACTER,
IN data2 CHARACTER
)
RETURNS BOOLEAN
LANGUAGE DATABASE
EXTERNAL NAME "AB.ABCD.checkDataExist";
Function call in WMB
DECLARE dataAlreadyExists BOOLEAN FALSE ;
CALL checkDataExist (Environment.Variables.data1,Environment.Variables.data2) INTO dataAlreadyExists;
I am getting the below exception. Need help to understand the error as there are other procedures ( not functions) defined in same package which can be accessed easily in same service call.
Quote: |
(0x01000000):DatabaseException = (
(0x03000000):File = '/build/S700_P/src/DataFlowEngine/ImbOdbc.cpp'
(0x03000000):Line = 358
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPmsgs'
(0x03000000):Severity = 3
(0x03000000):Number = 2321
(0x03000000):Text = 'Root SQL exception'
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '-1'
)
(0x01000000):Insert = (
(0x03000000):Type = 14
(0x03000000):Text = 'libbipodbc.so'
)
(0x01000000):DatabaseException = (
(0x03000000):File = '/build/S700_P/src/DataFlowEngine/ImbOdbc.cpp'
(0x03000000):Line = 541
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPmsgs'
(0x03000000):Severity = 3
(0x03000000):Number = 2322
(0x03000000):Text = 'Child SQL exception'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'HYC00'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '[IBM][ODBC Oracle Wire Protocol driver]Optional feature not implemented.'
|
|
Please post the Oracle stored procedure signature.
I am not sure if Boolean is supported for Oracle. If it not, you can create a wrapper stored procedure that makes the call , interprets the Boolean and returns Y or N |
|
Back to top |
|
 |
sankritya |
Posted: Thu Apr 28, 2016 10:35 am Post subject: |
|
|
Centurion
Joined: 14 Feb 2008 Posts: 100
|
It is a function in Oracle
FUNCTION checkDataExist (data1 VARCHAR2,
data2 VARCHAR2
)
RETURN BOOLEAN |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Apr 28, 2016 10:43 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
This error usually means that the workarounds value in the ODBC dsn isn't set right. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
sankritya |
Posted: Mon May 02, 2016 2:12 am Post subject: |
|
|
Centurion
Joined: 14 Feb 2008 Posts: 100
|
It worked after changing the return type to character from Boolean in Oracle function.  |
|
Back to top |
|
 |
maurito |
Posted: Mon May 02, 2016 5:23 am Post subject: |
|
|
Partisan
Joined: 17 Apr 2014 Posts: 358
|
sankritya wrote: |
It worked after changing the return type to character from Boolean in Oracle function.  |
yes, you can still use Boolean in the ESQL create function,the oracle SP must return either '0' or '1' and that will map nicely. |
|
Back to top |
|
 |
|