|
|
ODBC + PostgreSQL. Ошибка получения даты |
☑ |
|
0
PitNN
28.10.22
✎
09:50
|
Добрый день, Коллеги. Просьба подсказать, кто сталкивался. Есть внешняя БД на postgresql. В таблице одно из полей имеет тип timestamp (пробовал тип date результат тот же). При чтении данных ADODB.Recordset из этой таблицы, когда доходит до чтения из поля с типом "дата" вываливается ошибка: "Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена."
В чем может быть причина?
|
|
|
1
Garykom
гуру
28.10.22
✎
10:06
|
Причина в использовании устаревших уже не поддерживаемых реально технологий
|
|
|
2
PitNN
28.10.22
✎
10:51
|
(1) Какую именно технологию вы считаете устаревшей?
|
|
|
3
Garykom
гуру
28.10.22
✎
11:13
|
(2) ADODB и ODBC
|
|
|
4
Garykom
гуру
28.10.22
✎
11:19
|
v8sqlite - нативная ВК для работы из 1С c базами sqlite см там 21 пост
это то что предпочитаю в настоящее время использовать вместо устаревших технологий
|
|
|
5
NorthWind
28.10.22
✎
11:47
|
(0) скорее всего кривая связка драйвера ODBC и OLE провайдера. Поищите другие варианты, например, подключитесь к ODBC драйверу через внешний источник данных 1С или попытайтесь поменять версию драйвера, если это возможно. Вообще OLEDB провайдеры достаточно капризная штука, особенно если речь идет не о Microsoftовских базах данных.
|
|
|
6
Garykom
гуру
28.10.22
✎
11:51
|
(5) Не поможет.
Потом какое то другое поле встретится, например длинное BINARY или еще что и снова привет.
|
|
|
7
PitNN
28.10.22
✎
11:52
|
(5) Замечена такая штука. Если в ячейке записана дата "0100-01-01 00:00:00.000", то при чтении из Recordset она определяется как 01.01.0001 (т.е. потерялись куда-то 100 лет)
Если в ячейке записана дата меньше "0100-01-01 00:00:00.000" (в том числе и "0001-01-01"), то это приводит к указанной выше ошибке.
Начиная с даты "0101-01-01 00:00:00.000" всё определяется корректно
|
|
|
8
PitNN
28.10.22
✎
11:53
|
(4) Как это поможет подключиться, например к clickhouse?
|
|
|
9
Garykom
гуру
28.10.22
✎
11:54
|
|
|
|
10
Garykom
гуру
28.10.22
✎
11:54
|
(8) а какая нахрен разница то?
|
|
|
11
Garykom
гуру
28.10.22
✎
11:55
|
|
|
|
12
Garykom
гуру
28.10.22
✎
12:40
|
|
|
|
13
Garykom
гуру
28.10.22
✎
13:15
|
|
|
|
14
PitNN
28.10.22
✎
13:54
|
(13) Работа через запуск командного интерпретатора с последующим чтением файла ответа это, конечно, вариант. Спасибо за совет
|
|
|
15
ДедМорроз
28.10.22
✎
17:43
|
Можно еще попробовать дату приводить к строке или числу в самом запросе.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший