I am working on an Azure Logic Apps integration which insert data into an on-premise Oracle Database.
I can successfully run the Logic Apps integration and insert the data into our Oracle table (a custom staging table).
I would like to run a truncate on that table before inserting the new data.
I added the Oracle - Execute a Oracle Query component and then provided the following query:
TRUNCATE TABLE .<TABLE_NAME>;
After deploying to Azure, the integration failed on the Execute a Oracle Query with error:
"message": "BadGateway",
"innerError": {
"status": 502,
"message": "Unable to find the requested .Net Framework Data Provider. It may not be installed.\r\n inner exception: Unable to find the requested .Net Framework Data Provider. It may not be installed....",
If I remove the Execute a Oracle Query component, the Oracle Insert row component works fine.
I am not sure why it says the gateway may not be installed. I suspect it's a badly trapped error message.
Is that how the Execute a Oracle Query is supposed to be used?
Otherwise, how can I execute the truncate or how can I debug this error message?
Thanks!
The Oracle Connector for Azure Logic Apps does not support DDL. The exception you are getting is the generic one in Azure Logic Apps. I honestly believe the exception handler module is not very reliable here, because it usually goes to the gateway issue when the problem has no relation whatsoever. However, you have the option to overcome this limitation by using a call to an stored procedure.
In Oracle
create or replace procedure pr_trc_table ( ptab in varchar2 )
is
begin
execute immediate 'truncate table '||ptab||' ' ;
exception when others then raise;
end;
/
This Oracle Connector developed by Microsoft has a lot of limitations, which is normal as they try to ensure you use their own Azure SQL Service.
When invoking a Stored Procedure on an Oracle server, we have the following limitations:
OUT parameters are not supported currently.
Return value is not available since Oracle Stored Procedure does not return any result.
Oracle Functions are not supported so they are not listed in the UI.
The response size limit is 8MB.
The request size limit is 2MB.
Oracle native query is supported with the following limitations:
RefCursor is not supported.
OUT parameters are not supported.
Only one result set can be returned.
Gateway version 3000.63.4 (October release) or later is required.
Minimum supported version for Oracle Data Access Client is version 11
Besides, if any oracle query or stored procedure execution time exceeds 110 seconds, the action will timeout. Insert and update to a table does not return the full item, it returns only the input properties for the operation. A Primary Key is required to get deterministic paging result for GetRows operation.
Related
We recently upgraded our DB from 12c (12.1.0.2.0) to 19c(19.0.0.0.0) in EBS 12.1.3 environment on test instance. After upgrade I am unable to deploy custom web services using SOA rest services integration repository. I am getting following error on deployment:
Service Provider Access resulted in exception 'oracle.apps.fnd.isg.client.IREPException' when attempting to perform 'DEPLOY'. Please view Service Provider logs for more details
I reviewed log files but nothing informative found. One thing I noticed that I was able to deploy web services with simple out parameters with VARCHAR2 data type. But when there is an out parameter defined based on table type, I am receiving above mentioned error. I defined table type out parameter as follows which returns data in form of json array.
TYPE XRCL_TMS_PICKED_ORDERS1 IS TABLE OF ROCELL.XRCL_TMS_PICKED_ORDERS1%ROWTYPE INDEX BY BINARY_INTEGER;
It would be better to mention that on application with 12c database, web service can be deployed with no issue.
I resolved this problem by finding cause of collection type compatibility in 12c and 19c versions of databases.
In 12c below declaration of plsql collection type works fine:
TYPE type_name IS TABLE OF Table_Name%ROWTYPE INDEX BY BINARY_INTEGER;
but in 19c above declaration of plsql collection type has following error. I found this error after trying to recompile collection type:
PLS-00355: use of pl/sql table not allowed in this context
In 19c below declaration worked fine (created type as nested table):
CREATE TYPE type_name AS OBJECT
(
column_name datatype
);
CREATE TYPE type_name_nt AS TABLE OF type_name;
According to this article:
You can now connect to your Oracle Database from PowerApps, Flow and Logic Apps. The Oracle Database connection allows you to list tables, and perform standard create, read, update and delete of rows in an Oracle databases. In addition, it supports full delegation of PowerApps’ filtering, sorting and other functions. It does not support triggers or store procedures yet.
The article was written in March 2017. Does the connector support triggers and stored procedures now?
I see the latest update mentioned about added support for Stored Procedures but with some limitations.
January 2018
Support Oracle view as read-only table
October 2018
Support Oracle Stored Procedure
Known issues and limitations
The followings are some of the known limitations of using Oracle connector
When invoking a Stored Procedure on an Oracle server, we have the following limitations:
a. OUT parameters are not supported currently.
b. Return value is not available since Oracle Stored Procedure does not return any result.
Oracle Functions are not supported so they are not listed in the UI.
The response size limit is 8MB.
Oracle native query is not supported.
Not sure about Trigger (I assume it is in backlog), you can submit the idea for community support votes to get prioritized by Microsoft here.
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.
Currently am facing an issue while inserting data in to Sybase database 15.7 with WMB code flow. Am currently using WMB7 Broker and I have written code in our message flow which is trying to insert the data in the table directly rather than using store procedure. The data types used in database table is 'int' and 'Image'. But insert operation is not completing anyways.
Whereas the same message flow code is inserting the data in Database table which is on Sybase 12.5.
Can this be a compatibility issue of ODBC drivers which are present in WMB7?
Any kind of direction would be great help
It could definitely be a driver issue, in the SOE Sybase 15.7 is only listed as supported from 7.0.0.6 onwards:
http://publib.boulder.ibm.com/infocenter/prodguid/v1r0/clarity-reports/report/html/softwareReqsForProduct?deliverableId=1106652668319&osPlatform=AIX#sw-Databases
Are you running on this version?
Actually for resolving this issue we have changed the datatype from Image to varbinary in Database Table. And all started working in order
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.