Polybase конвертирует sql в ANSI sql для соединения Sybase - PullRequest
0 голосов
/ 10 января 2020

У меня есть соединение polybase с сервером sybase.

В моих внешних таблицах я не могу использовать команду top, потому что poly-base преобразует ее в ограничение

Пример:

SELECT TOP (1000) *
FROM [polygrab].[dbo].[ExtEvent_test]

Невозможно выполнить запрос "Удаленный запрос" для поставщика OLE DB "MSOLEDB SQL" для связанного сервера "(ноль)". 105082; Generi c ODB C ошибка: [SAP] [ODB C Драйвер] [SQL Anywhere] Синтаксическая ошибка около 'limit' в строке 3.

У меня также есть этот сервер как связанный сервер и верхние команды поддерживаются через провайдера SAOLEDB.17. Однако я не могу понять, если это проблема или как ее изменить.

Подключение к моим внешним данным выглядит следующим образом:

CREATE EXTERNAL DATA SOURCE [TicketMaster] WITH (
    LOCATION = N'odbc://externalserver.com:50459'
    , CONNECTION_OPTIONS = 'DRIVER={SQL Anywhere 17};
    Host=externalserver.com:50459; 
    Provider = ''SAOLEDB.17'';
    ServerName= <servername>;
    DatabaseName=<databasename>;'
    , CREDENTIAL = [PolyFriend2]
    )

1 Ответ

1 голос
/ 25 января 2020

Говорили с некоторыми сотрудниками Microsoft, работающими с функцией PolyBase.

При создании внешнего источника данных по умолчанию PUSHDOWN равно ON. Проблема, с которой вы сталкиваетесь, заключается в том, что возможность pushdown для обобщенных c ODB C источников данных находится на ранней стадии, и сгенерированный SQL может не соответствовать ожидаемому диалекту источника. Что, кажется, имеет место здесь.

Так что попробуйте создать источник данных с помощью PUSHDOWN = OFF, и посмотрите, поможет ли это. В качестве альтернативы вы можете отключить pushdown в вашем запросе с помощью опции: OPTION (DISABLE EXTERNAL PUSHDOWN). Так что-то вроде:

SELECT TOP (1000) *
FROM [polygrab].[dbo].[ExtEvent_test]
OPTION (DISABLE EXTERNAL PUSHDOWN);

Проверьте и посмотрите, работает ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...