# Destinations

Inforiver supports fast writeback setup and execution for several types of data destinations

* **Database/ Data warehouses/ Data lake:** Azure SQL, SQL Server, Synapse Analytics Dedicated SQL Pool, Azure Data Lake, Fabric Lakehouse, Fabric Warehouse, Dataverse, Databricks, Snowflake, BigQuery, Amazon Redshift, SAP HANA, Oracle, SingleStore, PostgreSQL, MySQL,
* **File Destinations:** OneDrive, SharePoint
* **Webhook URLs:** Can be used to trigger workflows in iPaaS such as Power Automate and Logic Apps)

Configuring writeback destination(s) is straightforward and involves the same procedure (picture below) for any destination.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FK1rV9xvvikPt3qMAEmbO%2Fimage.png?alt=media&#x26;token=c882419e-8171-44d7-a064-8a21e5fc177c" alt=""><figcaption><p>Navigating to Inforiver writeback destination setup</p></figcaption></figure>

A list of destinations will be displayed for the users to select from.&#x20;

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fak8vRjcOvDBXb6MwTxts%2Fimage.png?alt=media&#x26;token=427ba68d-b479-43c5-abca-c5757bcef17e" alt=""><figcaption><p>Destinations organized by category</p></figcaption></figure>

Configuring destinations for writeback is a straightforward process that will be covered in the upcoming sections.

### Generic destination settings

#### **1. Client-managed and Inforiver-managed destination**

After configuring the destination, you can choose whether the destination should be **client-managed** or I**nforiver-managed**.  If you wish to restrict access to the database, opt for client-managed destinations.

* **Enable automatic writeback management:** For Inforiver-managed destinations, Inforiver will automatically create the writeback table. However, Inforiver needs to be provided with the required permissions on the table.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F9LiLgY6Js2C8GGNdxVVP%2Fimage.png?alt=media&#x26;token=f7ca422d-0462-4a59-94a0-1fbef1b60f61" alt=""><figcaption><p>Inforiver managed destinations</p></figcaption></figure>

* For client-managed destinations, Inforiver will generate the scripts. You can manually execute them against the database.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2F6jRFU1gWhIwrH6IhtRR4%2Fimage.png?alt=media&#x26;token=d39d9a01-3f9b-4a2a-89de-cb8011e7ca99" alt=""><figcaption><p>Client managed destination</p></figcaption></figure>

#### 2. Column config

* **Decimal Precision**

Inforiver rounds off all numeric values including percentages to a specified number of decimal points as per your configuration instructions. When you create the first connection, you can specify decimal precision for all connections in that report.

{% hint style="info" %}
Inforiver supports a maximum precision of 10 digits.
{% endhint %}

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FZp1guyI29yJg4rzRRJZY%2Fimage.png?alt=media&#x26;token=e85e3e12-1c8c-4ef5-bc24-ab0ae50ed203" alt=""><figcaption><p>Setting the decimal precision for destinations</p></figcaption></figure>

When you apply the decimal precision shown in the image above, Inforiver writes back values (in this example, to Snowflake) rounded off to 5 decimal places.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FOoofR5SVQCSZVIZKsj2D%2F1.4.2.WB%20PErcentage%20values%20output.png?alt=media&#x26;token=a0a404bf-c7a6-41f6-aa4c-31aa19e7d078" alt=""><figcaption><p>Writeback percentage values</p></figcaption></figure>

* **Text length**

When you add destinations, you can restrict text fields to 512 characters or allow writeback up to the maximum limit supported by the backend.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FJBh3YrNuGcvzo4uYCRyi%2Fimage.png?alt=media&#x26;token=50a3642a-81b5-4544-bac0-1e341b5bd838" alt=""><figcaption><p>Setting the text length</p></figcaption></figure>

#### 3. Batch writeback

When you configure individual writeback destinations, you'll notice an option for batched writeback wherever applicable (batched writeback is not possible for destinations like Sharepoint, Rest API, OneDrive, etc). If your writeback payload exceeds 50k records, Inforiver can split the payload into multiple chunks and write them back batch-by-batch.

You can specify whether you will use a temporary table to hold the batched data.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Frqf3WkGND2PVOlZYyX42%2Fimage.png?alt=media&#x26;token=7283aad4-d5f8-46ba-b777-7de91dbfd82c" alt=""><figcaption><p>Temporary staging table configuration</p></figcaption></figure>

* To use this feature, enable the checkbox as shown in the image above.
* You can specify a custom table name or use the default table created by Inforiver to store batched data.

You can analyze the writeback log, which will capture how the payload has been split into multiple chunks and processed in parallel for a performance boost.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FI3VR6EX5SK05GF0mEVkf%2F3.2.%20Writeback%20batch%20chunks%20in%20log.png?alt=media&#x26;token=d12cf2d1-1895-457e-b04f-ad37daa5117f" alt=""><figcaption><p>Writeback logs for batched data</p></figcaption></figure>
