PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

QT5:Nie udało się załadować sterownika psql w systemie Windows

Najprawdopodobniej nie udaje się dynamicznie połączyć pliku qsqlpsql.dll plik, gdy wywołuje LoadLibrary na nim po tym, jak program zażąda tego sterownika. LoadLibrary zwraca ten sam kod błędu w przypadku braku docelowej biblioteki DLL, jak w przypadku braku jednej z bibliotek DLL, od której zależy docelowa biblioteka DLL lub nie można jej załadować . Tak więc Qt prawdopodobnie otrzymuje błąd „nie znaleziono biblioteki” i zakłada „och, sterownik Pg nie może być w tej kompilacji Qt”, gdzie w rzeczywistości jest obecny i nie można go załadować z powodu problemów z zależnościami, problemów ze zgodnością bibliotek itp.

Aby ustalić, dlaczego się nie ładuje, możesz, zgodnie z sugestią Franka Osterfelda, użyć narzędzia takiego jak Dependency Walker (depends.exe ) . Jeśli kompilujesz 32-bitowy kod na 64-bitowej maszynie, chcesz uzyskać 32-bitową walkę zależności.

Jest całkiem prawdopodobne, że zawiedzie, ponieważ istnieje zależność qsqlpsql.dll brak - albo libpq.dll lub jedną z bibliotek, które libpq kompilacja wymaga. Walker zależności pomoże to wyizolować. Możliwe również, że próbujesz załadować 64-bitowy plik libpq.dll w programie 32-bitowym lub odwrotnie.

Możesz również znaleźć informacje, aby uruchomić swój program za pomocą Monitora procesu, śledząc go. Spowoduje to, między innymi, wiele szczegółów na temat tego, które pliki próbuje otworzyć / zbadać, i może pomóc w śledzeniu takich rzeczy, jak nieoczekiwana PATH problemy.

Jeśli nadal utkniesz, zawsze istnieje możliwość skorzystania z debugera.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przepływ pracy do obsługi migracji sekwencyjnych i inicjalizacji?

  2. Ogranicz liczbę rekordów w modelu, które mogą mieć wartość na użytkownika

  3. PostgreSQL Query WHERE data jest starsza niż 3 lata

  4. Wdrażanie przyrostowych aktualizacji klienta z rowversions w Postgres

  5. Jak określić ostatni dzień poprzedniego miesiąca za pomocą PostgreSQL?