postgres odbc connection fails - postgresql

I am trying to set up a new postgres odbc connection for an application.
This is done on 32-bit Windows 7 system. I installed latest postgresql 9.6 & psqlodbc 0905, and there were no errors. When I add the odbc connection string and test connectivity with postgres login, it fails with the following error:
Test connection failed because of an error in initialized provider.
Specified driver could not be loaded due to system error 182:
(PostgreSQL UNICODE, C:\Program
Files\psqlODBC\0905\bin\psqlodbc35w.dll)
Here's the connection string:
Driver={PostgreSQL
UNICODE};Server=127.0.0.1;Port=5432;Database=postgres;
Uid=postgres;Pwd=postgres;
I then installed Visual C++ redistributable packager versions 2008 and 2010 later. Rebooted the box. Still same issue.
Postgres + odbc + other installs were complete and without any errors.
This is getting too frustrating.
Please.. any ideas on how to fix this will be helpful.?!
Update: I have tested the following:
1. Installed older postgres & psdqlodbc version
2. Added psqlodbc path to PATH env variable at the start
3. Uninstalled standalone psqlodbc installs, and installed Stackbuilder from postgresql package to download and install psqlodbc component.
All of these have not not been any useful.
Final Update: I was able to fix this by using psqlodbc_09_03_0400. For whatever reason, other versions kept throwing error.

Apparently, according to the Microsoft index of error codes, error 182 means ERROR_INVALID_ORDINAL, which with the help of this answer I believe means that the postgresql ODBC driver is loading another DLL and trying to call a function within it that does not exist.
The most likely cause for this would be that the system is loading a wrong version of a DLL on which psqlodbc depends. In fact I found this thread where someone else was having the same issue (although back in 2005).
This could happen if you had installed some other package containing one of the DLLs that psqlodbc relies on, or maybe even another version of psqlodbc.
Try changing the windows search path to put the directory containing the psqlodbc drivers at the front to confirm if this is the case. If that works you might want to try to narrow the problem down until you can find exactly what DLL is conflicting, and if possible remove it.
It is also possible that there is some packaging issue with the psqlodbc package you are using - if that is the case you could try uninstalling that one and installing an earlier version.

Final Update: I was able to fix this by using psqlodbc_09_03_0400. For whatever reason, other versions kept throwing error.

Related

IBM DB2 ODBC DRIVER :: SQL1390C The environment variable DB2INSTANCE is not defined or is invalid

I've followed several guides online and I cannot install IBM DB2 ODBC DRIVER on Windows.
I have downloaded the driver from IBM and installed (which was quite a roller-coaster).
If I follow guide1 or guide2 the result is the same:
SQL1390C The environment variable DB2INSTANCE is not defined or is invalid
Note: this is my C:\Program Files\IBM folder and as you can see there is no bin folder
Not sure if db2oreg1.exe -setup is still mandatory, things might have changed.
Thanks to #MarkBarinstein I found where the problem was.
I've followed this guide How to install IBM db2 ODBC driver in Windows 7 - 64 bit? and I downloaded the wrong package: I downloaded the universal_fixpack instead of the client.
I realized that when I saw the two folders in the Download directory:
So I uninstalled the universal_fixpack and installed the client and the installation was successful.

QT: driver not loaded, but driver is present

EDIT #2
It works, the first time I installed postgres 64bit, while Qt uses MinGW 32 bit.
EDIT
Following the answer linked by zapredelom, I installed postgres 9 and added to PATH the bin and lib directories. To be sure, I also restarted the machine, but nothing changed. QT_DEBUG_PLUGINS=1 gives me no additional debug infos.
I get this error at runtime:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
As the error itself displays, postgres driver is already present. Indeed there's a qsqlpsql.dll and qsqlpsqld.dll under C:\Qt\5.8\mingw53_32\plugins\sqldrivers.
I have not built it and I have no Postgres installation on this machine (I test on my Linux OS and deploy on Windows 8.1 VM), the driver was already present after installing QT.
What's the problem?
The driver does not work because it does not find the dependency (it should be depends on libpq.dll), and when you run it, the plugin can not find the required dll. If you are using windows, just try to check using dependencywalker of the qsqlpsql.dll.
You can directly put your libpq.dll to your application exe folder.

Error in Odoo8 installation- "column ir_ui_view.active does not exist"

I was running Openerp 7 earlier, then updated the code to Odoo8 RC1 on my Ubuntu 13.04, with Postgre Sql 1.16.1 database and Eclipse 3.8 IDE. Now I wanted to update to Odoo8.0 , when I downloaded the code from GitHub and tried to run the server from eclipse, I got this error:
"column ir_ui_view.active does not exist"
I understand here that Odoo8 has added another column to the ir_ui_view table, but how should I fix it on my side to get my server running. I dont want to go through the entire process to setup Postgresql, creating user, assigning roles and then installing odoo. Can I have a simple solution where I can edit the server file or change any database property to get this running. I went through few links but none could help much.
Thanks.
OpenERP/Odoo databases are incompatible between major versions.
They must first be upgraded.
This can be done by OpenERP support services or by yourself using tools such as OpenUpgrade.
try sudo apt-get install python-pass

Installing plpythonu on Windows

I'm trying to install plpython on a postgres server on a Windows machine. When I issue the command CREATE EXTENSION plpython3u; in postgres, I get the following error, which I'm trying to find the source of.
ERROR: could not load library "C:/Program Files/PostgreSQL/9.3/lib/plpython3.dll": The specified module could not be found.
This file exists, which I presume means that Windows can't find one of the files it depends on. When I open the plpython3.dll with Dependency Walker, it tells me it can't locate the GPSVC.dll.
Is it likely that this missing dll would cause the CREATE EXTENSION command to fail? I found a .dll with the same name in C:\Windows\System32 and copied it over to C:\Windows\SysWOW64, but this did not resolve the probelm, and although dependency walker now finds the .dll, it raises several other errors about having modules with different CPU types.
I know this is an old question, but thought I would post to save someone the headaches I went through trying to fix this...
I had the same error trying to add pl python using Postgres 9.5. Dependency walker showed that plpython3.dll was looking for python33.dll, so I installed python 3.3 and added the install directory into my path and that seems to have fixed the problem.
Use specific python version on Windows. I could get it running with python 3.2.x with postgres 9.3

Installing MongoDB in Windows xp 64-bit

I am trying to install mongoDB in Windows xp 64-bit, while executing mongod.exe in terminal it throws "The procedure entry point InitailizeSRWLock could not be located in the dynamic link library KERNEL32.dll" error, how to resolve this error ?
You'll need either the 32bit or 64bit "legacy" build of MongoDb for older operating systems. The error you're seeing indicates you've tried to execute a build for newer versions of Windows. The function InitializeSRWLock (reference) is only available on Windows 7/2008+.
At first ,make sure the mongodb you downloaded is just the suitable one for you system.
Secondly ,it seems that you system needs the KERNEL32.dll.You'd better download the KERNEL32.dll manually and put it into your c:\Windows\System\ directory.