|
1 | 1 | ---
|
2 | 2 | title: Connect to Oracle Database
|
3 |
| -description: Insert and manage records in Oracle Database using Azure Logic Apps. |
| 3 | +description: Insert and manage records in Oracle Database using a workflow in Azure Logic Apps. |
4 | 4 | services: logic-apps
|
5 | 5 | ms.suite: integration
|
6 | 6 | ms.reviewer: estfan, azla
|
7 | 7 | ms.topic: how-to
|
8 |
| -ms.date: 01/04/2024 |
| 8 | +ms.date: 06/12/2024 |
9 | 9 | ---
|
10 | 10 |
|
11 | 11 | # Connect to Oracle Database from Azure Logic Apps
|
12 | 12 |
|
13 |
| -[!INCLUDE [logic-apps-sku-consumption](~/reusable-content/ce-skilling/azure/includes/logic-apps-sku-consumption.md)] |
| 13 | +[!INCLUDE [logic-apps-sku-consumption-standard](~/reusable-content/ce-skilling/azure/includes/logic-apps-sku-consumption-standard.md)] |
14 | 14 |
|
15 |
| -Using the Oracle Database connector, you create organizational workflows that use data in your existing database. This connector can connect to an on-premises Oracle Database, or an Azure virtual machine with Oracle Database installed. With this connector, you can: |
| 15 | +In Azure Logic Apps, you can insert or manage data in your Oracle Database from within your workflow. You can use the Oracle Database connector to access an on-premises Oracle Database or an Azure virtual machine with Oracle Database installed. |
16 | 16 |
|
17 |
| -* Build your workflow by adding a new customer to a customers database, or updating an order in an orders database. |
18 |
| -* Use actions to get a row of data, insert a new row, and even delete. For example, when a record is created in Dynamics CRM Online (a trigger), then insert a row in an Oracle Database (an action). |
| 17 | +For example, you can perform the following tasks with the connector: |
19 | 18 |
|
20 |
| -This connector doesn't support the following items: |
| 19 | +* Add a new customer to a customer database. |
| 20 | +* Update an order in an order database. |
| 21 | +* Get a row of data, insert a new row, or delete an existing row. |
21 | 22 |
|
22 |
| -* Any table with composite keys |
23 |
| -* Nested object types in tables |
24 |
| -* Database functions with non-scalar values |
| 23 | +## Supported versions |
25 | 24 |
|
26 |
| -This article shows you how to use the Oracle Database connector in a logic app. |
| 25 | +* Oracle 9 and later |
| 26 | +* Oracle Data Access Client (ODAC) 11.2 and later |
27 | 27 |
|
28 | 28 | ## Prerequisites
|
29 | 29 |
|
30 |
| -* Supported Oracle versions: |
31 |
| - * Oracle 9 and later |
32 |
| - * Oracle Data Access Client (ODAC) 11.2 and later |
33 |
| - |
34 |
| -* Install the on-premises data gateway. [Connect to on-premises data from logic apps](../logic-apps/logic-apps-gateway-connection.md) lists the steps. The gateway is required to connect to an on-premises Oracle Database, or an Azure VM with Oracle DB installed. |
| 30 | +* [Download and install the on-premises data gateway](/data-integration/gateway/service-gateway-install). |
35 | 31 |
|
36 |
| - > [!NOTE] |
37 |
| - > The on-premises data gateway acts as a bridge, and provides a secure data transfer between on-premises data (data that is not in the cloud) and your logic apps. The same gateway can be used with multiple services, and multiple data sources. So, you may only need to install the gateway once. |
| 32 | + This gateway acts as a bridge and provides a secure data transfer between on-premises data and your app or client. You can use the same gateway installation with multiple services and data sources, which means you might only need to install the gateway once. |
38 | 33 |
|
39 |
| -* Install the Oracle Client on the machine where you installed the on-premises data gateway. Make sure that you install the 64-bit Oracle Data Provider for .NET from Oracle, and select the Windows installer version because the `xcopy` version doesn't work with the on-premises data gateway: |
| 34 | +* Install your Oracle client on the computer where you installed the on-premises data gateway. Otherwise, an error occurs when you try to create or use the connection. |
40 | 35 |
|
41 |
| - [64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64](https://www.oracle.com/technetwork/database/windows/downloads/index-090165.html) |
| 36 | +* [Create an Azure gateway resource for your gateway installation](../logic-apps/logic-apps-gateway-connection.md). |
42 | 37 |
|
43 |
| - > [!TIP] |
44 |
| - > If the Oracle client is not installed, an error occurs when you try to create or use the connection. See the common errors in this article. |
| 38 | +* The logic app workflow where you want to connect to your Oracle database. This connector provides only actions, not triggers. You can use any trigger that you want to start your workflow. To create the logic app and add a trigger, see the following documentation: |
45 | 39 |
|
46 |
| -## Add the connector |
| 40 | + * [Create an example Consumption workflow in multitenant Azure Logic Apps](../logic-apps/quickstart-create-example-consumption-workflow.md). |
| 41 | + * [Create an example Standard workflow in single tenant Azure Logic apps](../logic-apps/create-single-tenant-workflows-azure-portal.md) |
| 42 | + * [Add a trigger to your workflow](../logic-apps/create-workflow-with-trigger-or-action.md#add-trigger) |
47 | 43 |
|
48 |
| -> [!IMPORTANT] |
49 |
| -> This connector does not have any triggers. It has only actions. So when you create your logic app, add another trigger to start your logic app, such as **Schedule - Recurrence**, or **Request / Response - Response**. |
| 44 | +* For the **Get row** action used in this example, you need to know the identifier for the table to access. |
50 | 45 |
|
51 |
| -1. In the [Azure portal](https://portal.azure.com), create a blank logic app. |
| 46 | + If you don't know this information, contact your Oracle Database administrator, or get the output from the following statement: **`select * from <table-name>`**. |
52 | 47 |
|
53 |
| -2. At the start of your logic app, select the **Request / Response - Request** trigger: |
| 48 | +## Known issues and limitations |
54 | 49 |
|
55 |
| -  |
56 |
| - |
57 |
| -3. Select **Save**. When you save, a request URL is automatically generated. |
58 |
| - |
59 |
| -4. Select **New step**, and select **Add an action**. Type in `oracle` to see the available actions: |
60 |
| - |
61 |
| -  |
| 50 | +This connector doesn't support the following items: |
62 | 51 |
|
63 |
| - > [!TIP] |
64 |
| - > This is also the quickest way to see the triggers and actions available for any connector. Type in part of the connector name, such as `oracle`. The designer lists any triggers and any actions. |
| 52 | +* Any table with composite keys |
| 53 | +* Nested object types in tables |
| 54 | +* Database functions with nonscalar values |
65 | 55 |
|
66 |
| -5. Select one of the actions, such as **Oracle Database - Get row**. Select **Connect via on-premises data gateway**. Enter the Oracle server name, authentication method, username, password, and select the gateway: |
| 56 | +For more information, see the [connector's reference documentation](/connectors/oracle/). |
67 | 57 |
|
68 |
| -  |
| 58 | +## Connector technical reference |
69 | 59 |
|
70 |
| -6. Once connected, select a table from the list, and enter the row ID to your table. You need to know the identifier to the table. If you don't know, contact your Oracle DB administrator, and get the output from `select * from yourTableName`. This gives you the identifiable information you need to proceed. |
| 60 | +For available connector operations, see the [connector's reference documentation](/connectors/oracle/). |
71 | 61 |
|
72 |
| - In the following example, job data is being returned from a Human Resources database: |
| 62 | +## Add an action |
73 | 63 |
|
74 |
| -  |
| 64 | +1. [Follow these generic steps to add the **Oracle Database** action that you want](../logic-apps/create-workflow-with-trigger-or-action.md). |
75 | 65 |
|
76 |
| -7. In this next step, you can use any of the other connectors to build your workflow. If you want to test getting data from Oracle, then send yourself an email with the Oracle data using one of the send email connectors, such as Office 365 Outlook. Use the dynamic tokens from the Oracle table to build the `Subject` and `Body` of your email: |
| 66 | + This example continues with the [**Get row** action](/connectors/oracle/#get-row). |
77 | 67 |
|
78 |
| -  |
| 68 | +1. In the connection box, provide the required [connection information](/connectors/oracle/#default). |
79 | 69 |
|
80 |
| -8. **Save** your logic app, and then select **Run**. Close the designer, and look at the runs history for the status. If it fails, select the failed message row. The designer opens, and shows you which step failed, and also shows the error information. If it succeeds, then you should receive an email with the information you added. |
| 70 | +1. For the **Gateway** property, select the Azure subscription and Azure gateway resource to use. |
81 | 71 |
|
| 72 | +1. After the connection is complete, from the **Table name** list, select a table. |
82 | 73 |
|
83 |
| -### Workflow ideas |
| 74 | +1. For the **Row Id** property, enter the row ID that you want in your table. |
84 | 75 |
|
85 |
| -* You want to monitor the #oracle hashtag, and put the tweets in a database so they can be queried, and used within other applications. In a logic app, add the `Twitter - When a new tweet is posted` trigger, and enter the **#oracle** hashtag. Then, add the `Oracle Database - Insert row` action, and select your table: |
| 76 | + In the following example, job data is returned from a Human Resources database: |
86 | 77 |
|
87 |
| -  |
| 78 | + :::image type="content" source="media/connectors-create-api-oracledatabase/table-rowid.png" alt-text="Screenshot shows Get row action with table name and row ID." lightbox="media/connectors-create-api-oracledatabase/table-rowid.png"::: |
88 | 79 |
|
89 |
| -* Messages are sent to a Service Bus queue. You want to get these messages, and put them in a database. In a logic app, add the `Service Bus - when a message is received in a queue` trigger, and select the queue. Then, add the `Oracle Database - Insert row` action, and select your table: |
| 80 | +1. Add any other actions to continue building your workflow. |
90 | 81 |
|
91 |
| -  |
| 82 | +1. When you're done, save your workflow. |
92 | 83 |
|
93 | 84 | ## Common errors
|
94 | 85 |
|
95 | 86 | #### **Error**: Cannot reach the Gateway
|
96 | 87 |
|
97 |
| -**Cause**: The on-premises data gateway is not able to connect to the cloud. |
| 88 | +**Cause**: The on-premises data gateway can't connect to the cloud. |
98 | 89 |
|
99 |
| -**Mitigation**: Make sure your gateway is running on the on-premises machine where you installed it, and that it can connect to the internet. We recommend not installing the gateway on a computer that may be turned off or sleep. You can also restart the on-premises data gateway service (PBIEgwService). |
| 90 | +**Mitigation**: Make sure your gateway is running on the on-premises computer where you installed the gateway and has internet connectivity. Avoid installing the gateway on a computer that might be turned off or go to sleep. You can also try restarting the on-premises data gateway service (PBIEgwService). |
100 | 91 |
|
101 |
| -#### **Error**: The provider being used is deprecated: 'System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.'. See [https://go.microsoft.com/fwlink/p/?LinkID=272376](/power-bi/connect-data/desktop-connect-oracle-database) to install the official provider. |
| 92 | +#### **Error**: The provider being used is deprecated: 'System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.' To install the official provider, see [https://go.microsoft.com/fwlink/p/?LinkID=272376](/power-bi/connect-data/desktop-connect-oracle-database). |
102 | 93 |
|
103 |
| -**Cause**: The Oracle client SDK is not installed on the machine where the on-premises data gateway is running. |
| 94 | +**Cause**: The Oracle client SDK isn't installed on the computer where the on-premises data gateway is running. |
104 | 95 |
|
105 | 96 | **Resolution**: Download and install the Oracle client SDK on the same computer as the on-premises data gateway.
|
106 | 97 |
|
107 | 98 | #### **Error**: Table '[Tablename]' does not define any key columns
|
108 | 99 |
|
109 |
| -**Cause**: The table does not have any primary key. |
110 |
| - |
111 |
| -**Resolution**: The Oracle Database connector requires that a table with a primary key column be used. |
112 |
| - |
113 |
| -## Connector-specific details |
114 |
| - |
115 |
| -View any triggers and actions defined in the swagger, and also see any limits in the [connector details](/connectors/oracle/). |
116 |
| - |
117 |
| -## Get some help |
118 |
| - |
119 |
| -The [Microsoft Q&A question page for Azure Logic Apps](/answers/topics/azure-logic-apps.html) is a great place to ask questions, answer questions, and see what other Logic Apps users are doing. |
| 100 | +**Cause**: The table doesn't have a primary key. |
120 | 101 |
|
121 |
| -You can help improve Logic Apps and connectors by voting and submitting your ideas at [https://aka.ms/logicapps-wish](https://aka.ms/logicapps-wish). |
| 102 | +**Resolution**: The Oracle Database connector requires that you use a table with a primary key column. |
122 | 103 |
|
123 |
| -## Next steps |
| 104 | +## Related content |
124 | 105 |
|
125 | 106 | * [Managed connectors for Azure Logic Apps](managed.md)
|
126 | 107 | * [Built-in connectors for Azure Logic Apps](built-in.md)
|
127 |
| -* [What are connectors in Azure Logic Apps](introduction.md) |
0 commit comments