sql >> Databáze >  >> RDS >> PostgreSQL

QT5:Nepodařilo se načíst ovladač psql v systému Windows

S největší pravděpodobností se nedaří dynamicky propojit qsqlpsql.dll při vyvolání LoadLibrary poté, co váš program požaduje tento ovladač. LoadLibrary vrátí stejný chybový kód, když chybí cílová knihovna DLL, jako když jedna z knihoven DLL, na kterých cílová knihovna závisí, chybí nebo ji nelze načíst . Qt tedy dost možná dostane chybu „knihovna nenalezena“ a předpokládá „oh, ovladač Pg nesmí být v tomto sestavení Qt“, kde ve skutečnosti je přítomen a nenačte se kvůli problémům se závislostmi, problémy s kompatibilitou knihoven atd.

Chcete-li zjistit, proč se nedaří načíst, můžete, jak navrhl Frank Osterfeld, použít nástroj jako Dependency Walker (depends.exe ) . Pokud kompilujete 32bitový kód na 64bitovém počítači, chcete získat 32bitový chodec závislostí.

Je docela pravděpodobné, že selže, protože existuje závislost qsqlpsql.dll chybí - buď libpq.dll , nebo jednu z knihoven, které libpq stavba vyžaduje. Závislost walker to pomůže izolovat. Je také možné, že se pokoušíte načíst 64bitový libpq.dll v 32bitovém programu nebo naopak.

Také pro vás může být informativní, když spustíte svůj program pomocí nástroje Process Monitor, který jej sleduje. To mimo jiné vytvoří mnoho podrobností o tom, které soubory se pokouší otevřít/prozkoumat, a může pomoci vystopovat věci, jako je neočekávaná PATH problémy.

Pokud jste stále uvízli, vždy je zde možnost projít pomocí debuggeru.



  1. Různé způsoby zobrazení tabulek na serveru MySQL

  2. Je možné načíst DATA bez souboru (tj. v paměti) pro MySQL a Java?

  3. Jak získat všechny příspěvky se všemi kategoriemi ve wordpressu přes mysql?

  4. Auto-inkrement PostgreSQL se zvyšuje při každé aktualizaci