Решено: Запуск postgresql драйвера на windows xp
Модератор: Модераторы
Решено: Запуск postgresql драйвера на windows xp
Есть программа (сам писал) которая соединяется с бд на постгрес, делают выборку и апдейт с инсертом. На windows 7 данная программа работает прекрасно.
На windows xp не могу подобрать драйвера под нее. Ошибки выводит самые разнообразные, итог прост - ничо не работает. Что я уже делал:
1. поставил постгрес;
2. по совету ставил odbc драйвер;
3. так как выходили ошибки на lybeay32.dll ssleay32.dll качал их в инете до упора. Теперь на них ошибки не выходят.
4. проверил, стоит фреймворк 3,5, стоит vc++;
5. Сейчас выходит ошибка: invalid floating point operation
Но это не правда, код рабочий и пока базой был sqlite всё работало.
Что делать, ума не приложу.
--------------------
проблема была в том, что для одной из программ на компе (wget) требовались такие драйвера, которые при работе с postgress сбоили. Соответственно убрал wget с path - сбои прекратились.
На windows xp не могу подобрать драйвера под нее. Ошибки выводит самые разнообразные, итог прост - ничо не работает. Что я уже делал:
1. поставил постгрес;
2. по совету ставил odbc драйвер;
3. так как выходили ошибки на lybeay32.dll ssleay32.dll качал их в инете до упора. Теперь на них ошибки не выходят.
4. проверил, стоит фреймворк 3,5, стоит vc++;
5. Сейчас выходит ошибка: invalid floating point operation
Но это не правда, код рабочий и пока базой был sqlite всё работало.
Что делать, ума не приложу.
--------------------
проблема была в том, что для одной из программ на компе (wget) требовались такие драйвера, которые при работе с postgress сбоили. Соответственно убрал wget с path - сбои прекратились.
Последний раз редактировалось azsx 02.07.2016 11:04:50, всего редактировалось 1 раз.
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
lybeay32.dll ssleay32.dll качал их в инете до упора.
Должны подойти те комплектные-проверенные, что в ODBC.
invalid floating point operation
Вероятно ошибка в LCL - она (для новейшей версии Постгреса) не может авто-адаптировать типы данных.
ПС:
1) Иногда нужно настраивать опции коннекта, выполняя сразу после соединения некоторые команды в духе:
SET DATESTYLE TO 'German'; SET CLIENT_ENCODING TO 'utf8'; и т.д.
2) на 64-битной Windows, DLL-ки нужно копирвать не в "system32", а в "syswow64".
debi12345 писал(а):Вероятно ошибка в LCL - она (для новейшей версии Постгреса) не может авто-адаптировать типы данных.
Почему тогда "На windows 7 данная программа работает прекрасно"?
azsx писал(а): стоит vc++
Стоят все как у меня на скрине?
azsx писал(а):качал их в инете до упора
А разрядность вы учитывали? По ссылке архив качали, соответствующей разрядности?
У меня Windows 8.1 64 бит, на ней Lazarus 32 бит. Т.е. приложение получается 32 бит.
Виртуалка Windows XP Pro SP3 32-бит.
DirectX9 установлен?
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
Почему тогда "На windows 7 данная программа работает прекрасно"?
Может из-за нехватки нужной верcии MSVCRT ?
ПС: проще всего проверять DLL-ки через создание и тестирование PG ODBC-соединения с нужной БД. Если ODBC-коннект (32-разрядный!) работает, то и обычный LIBPQ-коненкт тоже должен работать (ессно после копирования DLL-ок).
Возможно, это какой-то частный случай... У меня было такое, когда программа под ДБ2 упорно отказывалась работать на одном из компьютеров... в итоге оказалось, что она висит на одном порту с программой управления видеокамерами. Сменил номер порта на видеорегистраторе, перенастроил клиенты на новый порт и всё запустилось. И тут, возможно, какая-то мелочь типа нестандартного делимитера или системной переменной... На других хп пробовали?
Стоят все как у меня на скрине?
у меня фрэймворк - одинаковый, разница в vc++. У меня установлены только
microsoft visual c++ 2010 x86 Redistributable - 10.0.40219
microsoft visual c++ 2013 Redistributable(x86) - 12.0.21005
Может из-за нехватки нужной верcии MSVCRT ?
Но он же установлен!
у вас на скрине
download/file.php?id=2004&mode=view
А разрядность вы учитывали? По ссылке архив качали, соответствующей разрядности?
получается следующая ситуация, если можно что то просто скачать и доустановить, я качаю и доустанавливаю. Я качал по разным ссылкам разные драйера. В основном под 32 бита, хотя пробовал и 64 бита. Сейчас у меня 32 бита. Закончилось тем, что libeay32 у меня скачан с одного сайта (перестал выдавать ошибку). ssleay32 с другого сайта в виде устанавливаемой программы, также перестал выдавать ошибки. Зато стала выдаваться ошибка invalid floating point operation. Я еще раз попробую, чтобы зафиксировать ошибки, но я уже ставил даже postgres 9.5 и копировал dll оттуда. Ошибки в ассортименте.
DirectX9 установлен?
доустановил - не помогло
И тут, возможно, какая-то мелочь типа нестандартного делимитера или системной переменной... На других хп пробовали?
к сожалению не пробовал, нет других у меня. а постгрес в локальной сети только. Я подумал, что хр слишком стар и на нем постгрес из лазаруса не идет. а люди пишут, что запускают и работают.
---
Возможно, я нашел свою проблему. У меня совместно с программой используется wget, который имеет пересекающиеся библиотеки. Короче я временно беру таймаут чтобы разобраться со своими dll.
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
Я еще раз попробую, чтобы зафиксировать ошибки, но я уже ставил даже postgres 9.5 и копировал dll оттуда.
==============
Не пробовали ставить весь MSVCRT-кумулятив 2008..2015 ?
ПС: у ТоталКоммандера есть плагин, показывающий зависимости DLL-ок и удовлетворяются ли они по всем используемым вызовам.
Все должно работать с DLL-ками из ODBC-пакета
==============
Не пробовали ставить весь MSVCRT-кумулятив 2008..2015 ?
ПС: у ТоталКоммандера есть плагин, показывающий зависимости DLL-ок и удовлетворяются ли они по всем используемым вызовам.
Все должно работать с DLL-ками из ODBC-пакета
короче, я на близжайщий месяц - два, сдаюсь.
Кстати, я еще отключил файрвол и автоматическое обновление. Может они как-то мешают.
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
Щось якысь экстремальны проблэмы у Вас
)
(на 99% уверен в нестыковке и/или миксе разрядностей и/или MSVCRT на 64-битной "оси"... а может антивирь удаляет какую-нибудь DLLку?)
ПС: ODDC-коннект к Вашей БД пробовали создавать и тестировать ? Для 32-битных прог используется админка "C:\Windows\SysWOW64\odbcad32.exe".
(на 99% уверен в нестыковке и/или миксе разрядностей и/или MSVCRT на 64-битной "оси"... а может антивирь удаляет какую-нибудь DLLку?)
ПС: ODDC-коннект к Вашей БД пробовали создавать и тестировать ? Для 32-битных прог используется админка "C:\Windows\SysWOW64\odbcad32.exe".
