Scape символ в Azure пароль - PullRequest
0 голосов
/ 06 апреля 2020

Я пытался настроить связанную службу в Azure фабрике данных (ADF), используя ADF GUI, и когда я набираю пароль БД, к которой я хочу подключиться, я получаю следующее сообщение об ошибке:

Connection failed
Expecting connection string of format "key1=value1; key2=value2"

Если я настрою его на получение этого пароля от Keyvault, я получу следующее сообщение об ошибке:

The value of the property '' is invalid: 'Format of the initialization string does not conform to specification starting at index 105

Я попытался подключиться к этой БД с помощью DBeaver, и я могу без проблем подключиться, поэтому URL , пароль и пользователь верны, и я думаю, что проблема в строке пароля, потому что она содержит точку с запятой (;), мой пароль выглядит так:

pass(GdA;+pass

Так что я думаю, что проблема в том, что Мне нужно отключить точку с запятой для настройки этой связанной службы (если я удаляю эту точку с запятой, я получаю ошибку при входе в систему). Я пробовал то, что говорили другие посты: 1 и 2 , но я все еще не могу настроить эту связанную службу.

Возможно, мне нужно попытаться создать эту связанную службу, используя Azure CLI, но есть ли у вас какие-либо другие предложения?

Заранее спасибо.

РЕДАКТИРОВАТЬ: Добавление службы, связанной с anonymez JSON:

{
"name": "LS_P_Oracle_BAS",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
    "description": "Test",
    "annotations": [],
    "type": "Oracle",
    "typeProperties": {
        "connectionString": "host=zzz.net;port=1521;servicename=yyy.com;user id=USER",
        "encryptedCredential": "eyJDcmVkZW50aWFsSWQiOiJmZTI3NDU4MS1iNWYyLTQ0YmItYTcwYS0wNzQxZTFkOWY5NTkiLCJWZXJzaW9uIjoiMi4wIiwiQ2xhc3NUeXBlIjoiTWljcm9zb2Z0LkRhdGFQcm94eS5Db3JlLkludGVyU2VydmljZURhdGFDb250cmFjdC5DcmVkZW50aWFsU1UwNkNZMTQifQ=="
    },
    "connectVia": {
        "referenceName": "INTEGRATIONRUNTIME",
        "type": "IntegrationRuntimeReference"
    }
}
}

EDIT2 : Конфигурация соединения с использованием Keyvault:

{
"name": "LS_P_Oracle_BAS",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
    "description": "Test",
    "annotations": [],
    "type": "Oracle",
    "typeProperties": {
        "connectionString": "host=yyy.net;port=1521;ServiceName=zzz.com;user id=USER_READER",
        "password": {
            "type": "AzureKeyVaultSecret",
            "store": {
                "referenceName": "LS_P_KeyVault_yyy",
                "type": "LinkedServiceReference"
            },
            "secretName": "BAS-reader-password"
        }
    },
    "connectVia": {
        "referenceName": "INTEGRATIONRUNTIME",
        "type": "IntegrationRuntimeReference"
    }
}
}

Ошибка, которую я получаю с этой второй связанной службой JSON:

The value of the property '' is invalid: 'Format of the initialization string does not conform to specification starting at index 105.'. Format of the initialization string does not conform to specification starting at index 105.

1 Ответ

0 голосов
/ 16 апреля 2020

После дальнейшего изучения этой проблемы она определяется как ошибка в соединителе ADF Oracle, которая не может обрабатывать свойства, содержащие точку с запятой. Текущее ETA для развертывания исправления ошибки - конец июня (Примечание: это предварительная дата)

К сожалению, в настоящее время нет обходного пути, кроме изменения пароля (избегая точки с запятой в свойствах соединения), пока исправление не будет развертывается.

Буду обновлять ветку MSDN ниже, как только у меня появятся новые обновления, касающиеся этого исправления.

Нить MSDN: https://social.msdn.microsoft.com/Forums/en-US/10a3454f-69b8-41bb-9af3-8846f44f6dfe/scape-character-in-azure-password?forum=AzureDataFactory

Мы ценим Вы терпение и искренние извинения за все причиненные неудобства.

...