Oracle Connector 2.0 in Synapse - Missing Support for Full Connection String Usage

Jeff S 5 Reputation points
2025-07-22T14:54:55.6533333+00:00

The Oracle Connector 1.0 has worked reliably and effectively for our integration needs. One of its most valuable features was the ability to use a single connection string—including the InitializationString—through a Key Vault reference. More importantly, this Key Vault reference was fully parameterized, allowing our system to dynamically retrieve the appropriate entry at runtime based on the source system. This provided the flexibility and scalability needed to support automated data loads from various independent Oracle databases across multiple organizations, without hardcoding or manual intervention.

With the introduction of the Oracle Connector 2.0 in Synapse, we’ve encountered a significant limitation: the interface now requires the connection string to be broken into individual fields (e.g., server name, username, password, etc.), with the InitializationString specified separately. This design change directly disrupts our existing architecture, which relies on dynamically selecting full connection strings from Key Vault as part of a large-scale, high-volume integration process.

Key Questions:

  1. Is there a supported mechanism in the 2.0 connector that still allows use of a full connection string—via a parameterized Key Vault reference as before?
  2. If such a feature exists and I’ve overlooked it, I would sincerely appreciate any clarification or documentation.

If there is no such support, this represents a serious functional regression. The connector previously enabled customers like us to build fully automated, scalable, and dynamic integration pipelines. There is no justifiable reason to remove core functionality that was explicitly offered and that became a foundational dependency in customer solutions. This change is not about evolving Oracle support or platform modernization—it is a removal of functionality unrelated to underlying technical requirements.

In enterprise platforms, functional continuity is essential. When features that have been provided and relied upon are removed without an equivalent alternative or migration path, it causes operational disruption, erodes trust, and forces costly reengineering of stable systems built in good faith.

We share this concern not in criticism, but in the spirit of partnership. We respectfully urge Microsoft to recognize the importance of backward compatibility—not only at the protocol or version level, but at the functionality level. We ask that Microsoft restore or re-enable support for full connection strings in the 2.0 connector, or provide a supported alternative that preserves the automation and architectural investments made using the 1.0 connector’s capabilities.

Thank you for your attention to this matter and for your continued commitment to supporting your enterprise customers with stable, dependable integration tools.

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
{count} votes

1 answer

Sort by: Most helpful
  1. SSingh-MSFT 16,376 Reputation points Moderator
    2025-08-05T07:26:30.23+00:00

    Hi Jeff S •,

    If you are using the Username and password not SSO

     

    Use the below string with password in AKV :

     

    {"server":"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=SQL.saku.lab)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.saku.lab)))","authenticationType":"Basic","username":"SYSTEM","password":"<>"}

     

    Your linked JSON should look like this.

     

    {

        "properties": {

            "type": "Oracle",

            "version": "2.0",

            "typeProperties": {

                "connectionPropertiesInString": {

                    "type": "AzureKeyVaultSecret",

                    "store": {

                        "referenceName": "orcl_akv_LS",

                        "type": "LinkedServiceReference"

                    },

                    "secretName": "latest-secret"

                }

            },

            "connectVia": {

                "referenceName": "integrationRuntime1-shir",

                "type": "IntegrationRuntimeReference"

            },

            "annotations": []

        }

    }

     

    Thanks

     


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.