Teiid: устаревший формат даты / времени с плавающей точкой не поддерживается Npgsql - PullRequest
0 голосов
/ 29 января 2020

Я написал C# приложение webci для netcoreapp 3.1, которое пытается прочитать таблицу Teiid VDB через Npg sql .EntityFrameworkCore. PostgreSQL 3.1.0.

Всякий раз, когда мое приложение читает какие-либо данные например:

_context.Campaigns.ToList();

возникает следующая ошибка:

NotSupportedException: The deprecated floating-point date/time format is not supported by Npgsql.

Поиск в Google Я нашел это: Npg sql: старое представление с плавающей точкой для отметок времени не поддерживается . К сожалению, проект Npg sql .EntityFrameworkCore. PostgreSQL перестал поддерживать устаревший формат даты / времени с плавающей запятой PostgreSQL, но Teiid, похоже, все еще использует его.

Я также пробовал старую версию 2.2.4 Npg sql .EntityFrameworkCore. PostgreSQL с приложением. net Core 2, у которого не было этой проблемы, но не удалось прочитать и записать двойные значения из / в Teiid .

AFAIK, единственный рабочий способ доступа к данным Teiid из. net Основные приложения - через System.Data.ODB C.

Существует ли какая-либо конфигурация или настройка Teiid для эмуляции PostgreSQL с использованием нового целочисленного формата даты / времени?

Или, если нет, планируется ли обновить эмуляцию Teiid PostgreSQL?

1 Ответ

0 голосов
/ 31 января 2020

Или, если нет, планируется ли обновить эмуляцию Teiid PostgreSQL?

Я не думаю, что полный контекст здесь полностью отражен. Текущее состояние эмуляции pg заключается в том, что он поддерживает двоичный формат только для типов bytea, Integration, Float, Double и Date. Драйвер должен отправлять время / метку времени в текстовом формате.

Если требуется поддержка дополнительного типа двоичного формата, это потребует улучшения.

Что касается того, какой двоичный формат поддерживать, нам нужно соответствует ожидания для эмулируемой нами версии pg, которая в настоящее время составляет 8.2. Если есть переменная соединения / сеанса для управления ожидаемым форматом, мы могли бы поддержать это.

Последние попытки поддержать npg sql были два года go, так что, вероятно, их драйвер сейчас делаю то, чего мы не ожидали. Таким образом, вы должны записать усовершенствование о поддержке самой последней и лучшей версии, которая могла бы координировать любую из подзадач.

...