Bigquery Симба ODBC автокоммит - PullRequest
0 голосов
/ 05 апреля 2019

Мы используем Microstrategy для подключения к Google Bigquery. В отчете микростратегии выдаются Insert операторы для bigquery, которые завершаются с ошибкой со следующим сообщением об ошибке:

Push Auto Commit failed. 
Error type: Odbc error. Odbc operation attempted: SQLSetConnectOption. Option: SQL_ATTR_AUTOCOMMIT. [HYC00:11470: on SQLHANDLE] [MicroStrategy][ODBC] (11470) Transactions are not supported.

1 Ответ

0 голосов
/ 06 апреля 2019

Я вижу два возможных варианта решения этой проблемы:

Вариант 1

В примечаниях к выпуску Simba ODBC, которые можно найти по этой ссылке , необходимо убедиться, что вы используете версию 2.1.16 и что у вас включена опция конфигурации IgnoreTransactions

[GAUSS-634] Игнорирование данных транзакций

Теперь драйвер можно настроить на игнорирование данных транзакции в результатах запроса. Для этого включите опцию конфигурации IgnoreTransactions. Подробнее см. В Руководстве по установке и настройке.

Еще один интересный вариант в этой версии

[GAUSS-663] Поддержка MERGE

Драйвер теперь поддерживает MERGE как оператор DML.

Проверьте дополнительные параметры в меню конфигурации ODBC SIMBA

enter image description here

Вариант 2

Если вы подключены к Microstrategy через связанное соединение, вам необходимо следовать инструкциям на странице Симба FAQ

Вставка, обновление и удаление завершаются ошибкой с сообщением о том, что связанный сервер не поддерживает требуемые интерфейсы транзакций.
Связанный сервер не использует ODBC изначально, он использует OLE DB, а для связи с ODBC он использует мост Microsoft OLE DB к ODBC. Вот где возникает проблема. Это можно обойти, отключив транзакции для запросов DML у провайдера. Удалите соединение связанного сервера с источником данных, затем откройте провайдеров связанного сервера и щелкните правой кнопкой мыши на MDASQL. Выберите «Нетранзакционные обновления», а затем заново создайте связанный сервер и повторите попытку.

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