SSRS report fail on Oraclev19 Function call - oracle

Thanks for your time on this question.
I'm new to SSRS but comfortable with basic Oracle SQL's.
I have some ssrs reports that run well on oracle v12 and now have to migrate db to oracle v19.
these reports have several oracle function that are used as dataset source. so on ssrs dataset, under 'query type' i select 'stored procedure' and enter function name with parameters and output. this approach was working well on old set up but in the new setup, it fails with oracle error:
An error has occured during report processing. (rsProcessingAborted)
Query execution failed for dataset 'region'. (rsErrorExecutingCommand)
ORA-06550: line1, column 7: PLS-00221: '<>' is not a procedure or is undefined ORA-06550:line1, column7: PL/SQL: statement ignored.
Some details:
the old versions: Oracle db v12, ssrs report builder v12, oracle client (TBC)
the new version: Oracle db v19, ssrs report builder v15, oracle client OLEDB
when i provide source as SQL query, the dataset works fine.
Could someone pls help on how to get over this error?
Have you called Oracle function from SSRS report?
Most of these function return 'refcursor', could this be an issue?
this has been nagging me for days. Many thanks in advance for your time and effort.
EDIT: I tried dataset source to a simple function GET_FUNC_TEST but that also fails with same error.

The issue was Oracle driver. OLEDB driver doesnt support refcursors. Once we installed oracle / odbc client, it was working smoothly.

Related

Hw to get rid of ORA-01008

While trying to code in VS 2019 (making utility to select data from Oracle DB) I got stuck.
I created DataSet with TableAdapter to it Pic0
In a query I must enter value for APPLICATION_NUMBER field, and when I "Execute Query" everything works fine and I get result (see Pic1)Pic1
But when I try to "Preview Data", I got error "ORA-01008: not all variables bound"
(see Pic2)
Just for info: it is Oracle 9i I am trying to connect to, I am using .NET Framework Data Provider for OLE DB because if I use .NET Framework Data Provider for Oracle it says "Connections to this server version are no longer supported".
Would appreciate much any useful info.
I tried to replace :PARAM2 with '&PARAM2' but with no luck.

ORA-01036: illegal variable name/number with Oracle 18 and Oracle 19 Windows client

After upgrading from Oracle 11/12 to 18/19 I get this error: ORA-01036: illegal variable name/number.
The error occurred in a query like this:
SELECT * FROM (SELECT * FROM TABLE) MY_TABLE WHERE ROWNUM <= :P_ROWNUM
(Subquery + binding parameters)
The identical query works properly with the Oracle 11.2.0.4 or 12.1.0.2 client. It fails with the Oracle Client 18c or 19c.
PS: The Oracle Server is version 18c 64x for Windows.
I use Delphi 10.1.2 with ADO components (dbGO). I also tried with Delphi 13.3.3 but the behavior is the same.
It seems to be a problem in the Oracle OLE DB provider (ORAOLEDB).
If I don't use ADO but DevArt Unidac all worked as expected.
Someone can help me?
Max
Your query is fine. We ran into a similar issue when migrating from 12.1 to 19. In our case, we have a custom OLE DB provider that interfaces with OraOLEDB (and others) using the Microsoft OLE DB Provider Templates (ATL). When attempting to upgrade from 12.1.x to 19c we started seeing the strange and confusing "ORA-01036: illegal variable name/number" error for parameterized SELECT queries. The queries would succeed the first time they were executed but subsequent executions would fail when all we did was change the parameter value (the queries were executed sequentially). I went on a wild goose chase trying to diagnose the issue and finally decided it had to be an Oracle caching bug of some kind. Yesterday, I experimented with the cache-related connection string attributes and found that adding the MetaDataCacheSize attribute and setting its value to 0 (zero) resolved the issue for us. None of the current Oracle patches appear to address this issue, at least none of those that mention the ORA-01036 error.

HY010 Oracle ODBC Function sequence error in SSIS?

I created an SSIS package to copy data from one Oracle table to another Oracle table. Each table is in a different database.
I'm getting this error for every single column of the source table:
ERROR [HY010] [Oracle][ODBC]Function sequence error
This is the screenshot.
I have no idea what this means. I've also researched but I haven't seen anything that has helped me.
How can I fix this? I did read that an alternative is to create a linked server.
I wanted to add that the ODBC driver was created with a relatively recent Oracle 12 driver, so I'm not sure why VARCHAR2 columns would not be supported.
Also wanted to point out that the Windows server where the Oracle DB is 64-bit (Windows Server 2008) and Visual Studio 2008 (where the SSIS package is created) is 32-bit. That's why the driver has "_32" at the end.
Based on the following documentation:
The error occurs when ODBC functions are called out of the order required by the ODBC Specification.
The error can also occur if an ODBC function call returns an error and the application continues making ODBC calls that require the previous ODBC call to succeed.
I think you should check that all columns data types are supported by the ODBC driver.
Similar questions
MS-Oracle ODBC Driver Function Sequence Error
Update 1
You can refer to the following link to learn more about supported data types:
Oracle® Database Gateway for ODBC User's Guide - Data Type Conversion
Note that in the link above they mentioned that:
If a table contains a column whose data type is not supported by Oracle Database Gateway for ODBC, the column information is not returned to the Oracle database.

SQL data extracts works in Oracle 11g but not Oracle 12c

When I execute the following SQL using TOAD against an Oracle 11g database, the fully formed XML is returned successfully:
With T As (SELECT dbms_xmlgen.getxml('SELECT m.trans_message FROM xml_nodes_ams_in a, message m WHERE a.id = m.msg_id AND a.UPN IN(''A30971016528VE8K'',''A30971016529VE84'') ORDER BY a.upn ASC'
) As output_xml from dual
) select dbms_xmlgen.Convert(output_xml,1) from T
However, when I execute the exact same SQL against our newly installed Oracle 12c database, some of the XML data appears to be missing (around 5000 characters).
I have discussed this with the DBA who reckons its a client issue rather than a database issue as he says there is no setting against the database that would cause this.
Has anyone got any advise on how I can progress this issue?
I raised a service request with Oracle and they came back to me and advised that there is a bug with the dbms_xmlgen.Convert function within Oracle 12.1 that was fixed in Oracle 12.2. Basically the function fails with XML greater than 120 KB.

SSIS Fast Load error when using Attunity Oracle connector to 11g

When enabling Fast Load in Attunity Oracle Destination Components in several similar SSIS packages using Oracle 11g as target - a few packages fail and return the error below, but the rest of them work fine.
The error message I get is:
Description: Fast Load error encountered during PreLoad or Setup
phase. Text: ORA-39826: Direct path load of view or synonym (
TABLE_NAME ) could not be resolved.
If I'll disable the Fast Load, those that failed would work fine too of course.
More importantly, the failing packages work fine with Fast Load when using Oracle 10g as target.
I don't understand why it doesn't work in those that failed.
What am I missing? What should I do to make the Fast Load work at all times and not sometimes?
probably a driver issue.
The 'fast load' option internally uses a BULK INSERT statement for uploading data into the destination table instead of a simple INSERT statement for each single row. Since bulk insert is a native sql server function you should try to understand how does it work for oracle. It probably changed from 10g to 11g
By pure chance, I discovered that the target component fails in an SSIS package if its ‘TableName’ property contains spaces before or after(!) the name of the table. Once deleted it works fine.
This error didn’t occur on 10g.

Resources