Index Out of Range Error When Creating SnowFlake Linked Service

Albert, Christopher 96 Reputation points
2020-08-06T14:29:09.89+00:00

I have tried several times to create a SnowFlake linked service. Every time I try I receive the same error. The portal offers no other information on what is happening. Found someone else on SO having the same issue. Can anyone help with this?

The value of the property 'index' is invalid: 'Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index'. Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Activity ID: ebc23efa-fd4b-490b-a062-dd6fc6b956ce.

Azure Data Factory
Azure Data Factory

An Azure service for ingesting, preparing, and transforming data at scale.

0 comments No comments

Answer accepted by question author
Albert, Christopher 96 Reputation points
2020-08-06T15:22:12.11+00:00

Seems the UI doesn't generate the linked service correctly. Using Microsoft Learn Example JSON I received the same index error when attempting to create the linked service. If I remove the password from the connection string and add it as a separate property I am able to successfully generate the linked service.

Microsoft Learn Example (Doesn't Work)

{  
    "name": "SnowflakeLinkedService",  
    "properties": {  
        "type": "Snowflake",  
        "typeProperties": {  
            "connectionString": "jdbc:snowflake://<accountname>.snowflakecomputing.com/?user=<username>&password=<password>&db=<database>&warehouse=<warehouse>&role=<myRole>"  
        },  
        "connectVia": {  
            "referenceName": "<name of Integration Runtime>",  
            "type": "IntegrationRuntimeReference"  
        }  
    }  
}  

Working Example

{  
    "name": "SnowflakeLinkedService",  
    "properties": {  
        "type": "Snowflake",  
        "typeProperties": {  
            "connectionString": "jdbc:snowflake://<accountname>.snowflakecomputing.com/?user=<username>&db=<database>&warehouse=<warehouse>",  
"password": {  
                "type": "SecureString",  
"value": "<password>"  
}  
        },  
        "connectVia": {  
            "referenceName": "<name of Integration Runtime>",  
            "type": "IntegrationRuntimeReference"  
        }  
    }  
}  

Was this answer helpful?

0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

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