PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

QT5:Неуспешно зареждане на psql драйвер в Windows

Най-вероятно не успява да свърже динамично qsqlpsql.dll файл, когато извиква LoadLibrary върху него, след като вашата програма поиска този драйвер. LoadLibrary връща същия код за грешка, когато целевата DLL липсва, както и когато една от DLL, от която зависи целевата DLL, липсва или не може да бъде заредена . Така че е възможно Qt да получи грешка „библиотеката не е намерена“ и да приеме, че „о, драйверът на Pg не трябва да е в тази компилация на Qt“, където всъщност присъства и не успява да се зареди поради проблеми със зависимостите, проблеми със съвместимостта на библиотеката и т.н.

За да определите защо не успява да се зареди, можете, както предложи Франк Остерфелд, да използвате инструмент като Dependency Walker (depends.exe ) . Ако компилирате 32-битов код на 64-битова машина, искате да получите 32-битов инструмент за разходка на зависимости.

Много вероятно е да се провали, защото има зависимост от qsqlpsql.dll липсва - или libpq.dll , или една от библиотеките, които libpq изграждане изисква. Dependency Walker ще ви помогне да изолирате това. Възможно е също така да се опитвате да заредите 64-битов libpq.dll в 32-битова програма или обратното.

Може също да намерите за информативно да стартирате програмата си с проследяване на Process Monitor. Това ще доведе до много подробности за това кои файлове се опитва да отвори/провери, наред с други неща, и може да помогне за проследяване на неща като неочакван PATH проблеми.

Ако все още сте блокирани, винаги има опция да преминете през програмата за отстраняване на грешки.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Настройка на външен ключ с различен тип данни

  2. Django ORM сравнява кортежи / лексикографско подреждане

  3. Възникване на грешка, когато датата не е валидна

  4. Как да конвертирате postgresql 9.4 jsonb в обект без език на функция/сървър

  5. Обединете заявката само с колони, които имат всички стойности в клаузата „in“.