SQL Сервер 2019 - SSDT publi sh изменяет внешний источник данных на TYPE = HADOOP - PullRequest
0 голосов
/ 10 марта 2020

Использование Visual Studio 2019 + SSDT для разработки и развертывания внешних таблиц на SQL Сервер 2019 (CU1). Polybase включен, и я могу успешно создавать внешние таблицы через SSMS и Azure Data Studio.

При попытке развернуть внешний источник данных для Oracle из VS 2019, вот как выглядит мой скрипт CREATE :

CREATE EXTERNAL DATA SOURCE [MyOracleDB]
WITH
    (
        LOCATION = N'oracle://MyOracleDB_Hostname',
        CREDENTIAL = [MyOracleCred]
    );

Запуск «Publi sh» из VS возвращает следующую ошибку:

(66,1): SQL72014:. Net SqlClient Data Provider: Msg 46531, уровень 16, состояние 10, строка 1 Поддержка внешних источников данных типа HAD OOP не включена. Чтобы включить, установите «имело oop подключение» к желаемому значению.

Я подумал, что это действительно странно, поэтому я посмотрел на скрипт publi sh. Вот что генерирует SSDT для развертывания:

CREATE EXTERNAL DATA SOURCE [MyOracleDB]
    WITH (
    TYPE = HADOOP,
    LOCATION = N'oracle://MyOracleDB_Hostname',
    CREDENTIAL = [MyOracleCred]
    );

SSDT, похоже, предполагает, что я хочу создать источник данных Had oop, и это приводит к сбою моего развертывания. В SQL Server 2019 нет возможности установить TYPE = RDBMS (это только возможность Azure SQL). В Visual Studio я могу просто изменить скрипт publi sh, чтобы закомментировать строку TYPE = HAD OOP перед запуском скрипта, но я использую задачи развертывания DACPA C в Azure DevOps для автоматизации моих развертываний, поэтому модифицирую сценарий не всегда является опцией.

Кто-нибудь знает, как заставить SSDT распознать, что это источник данных Oracle, и НЕ изменить его на Had oop?

...