Сбой запроса данных с типом datetimeoffset в pyobd c на linux - PullRequest
1 голос
/ 08 марта 2020

У меня есть таблица в серверной базе данных sql, где время хранится с использованием типа данных datetimeoffset.

Все отлично работало на windows 10, но когда я переместил свой код в docker контейнер (Ubuntu 1604, python 3.7.6 и pyobd c 4.0.30). Драйверы OBD C, добавленные Dockerfile с

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev

Затем я начал получать следующие данные выбора в поле datetimetoffset, например, SELECT date FROM ...:

ProgrammingError: ('ODBC SQL type -155 is not yet supported.  column-index=0  type=-155', 'HY106')

Мой текущий обходной путь - преобразование поле datetime для даты в sql с SELECT convert(datetime, date) FROM ...

Я ожидаю, что это ограничение драйверов OBD C на Linux.

Я бы предпочел не обновлять sql, поэтому мне интересно, есть ли альтернативы драйверам OBD C, которые я использую, или другие опции

...