Использование 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?