sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-fout:het programma kan niet starten omdat libpq.dll op uw computer ontbreekt

Het antwoord is verrassend eenvoudig.

Het probleem dat u ziet, komt doordat de gecompileerde toepassing de PostgreSQL-bibliotheken niet kan vinden. De libpq.lib wordt gebruikt om de toepassing te compileren, en deze linkt tijdens runtime naar de DLL. U kunt het toevoegen aan uw systeembrede pad of de DLL bundelen met uw toepassing. (Ik zou het toevoegen aan de ontwikkelmachine en het herdistribueerbare pakket bundelen voor een installatiepakket.)

Om het in uw pad op te nemen, probeert u:

  1. Klik met de rechtermuisknop op "Deze computer" en selecteer Eigenschappen
  2. Klik vervolgens op "Geavanceerde systeeminstellingen".
  3. Klik op de knop "Omgevingsvariabelen" onder aan het dialoogvenster.
  4. Er verschijnt een dialoogvenster met een groepsvak met de naam "Systeemvariabelen". Zoek degene in de keuzelijst met de variabelenaam "Pad".
  5. Voeg nu het pad van de PostgreSQL-bibliotheekmap toe aan het pad met een ";" scheidingsteken.
  6. Log nu uit of start opnieuw op. Het is noodzakelijk dat u op zijn minst uitlogt bij Windows en weer inlogt voor de Visual Studio-foutopsporing om de extra uitvoerbare modulepaden op te halen (die padvariabele). In het ideale geval stuurt het opnieuw opstarten het nieuwe systeempad naar alle toepassingen in het systeem tijdens het opstarten.

Als de variabele Path "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem" bevat, voegt u ";C:\Program Files\PostgreSQL\libraries" toe om het eruit te laten zien "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\PostgreSQL\libraries".

Houd er rekening mee dat uw pad echt . zal zijn lang in de meeste gevallen. Voeg het gewoon toe aan het einde.

Veel succes!



  1. Installatiefout bij het installeren van een gis-toepassing met geodjango?

  2. Niet alle parameters zijn gebruikt in de SQL-instructie (Python, MySQL)

  3. Mysql-database bijwerken met php

  4. SQLAlchemy-overerving werkt niet