首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >postgres odbc连接失败

postgres odbc连接失败
EN

Stack Overflow用户
提问于 2016-10-09 20:53:39
回答 2查看 4.7K关注 0票数 1

我正在尝试为应用程序设置一个新的postgres连接。

这是在32位Windows 7系统上完成的.我安装了最新的postgresql 9.6 & psqlodbc 0905,没有出现错误。当我添加odbc连接字符串并测试postgres登录的连接性时,它会失败,出现以下错误:

由于初始化提供程序中的错误,测试连接失败。由于系统错误182:(PostgreSQL UNICODE,C:\Program Files\psqlODBC\0905\bin\psqlodbc35w.dll),无法加载指定的驱动程序

下面是连接字符串:

UNICODE};Server=127.0.0.1;Port=5432;Database=postgres;Driver=;PostgreSQL Uid=postgres;Pwd=postgres;

然后,我在2008年和2010年之后安装了Visual C++可再发行包程序版本。重新启动了盒子。还是一样的问题。

Postgres + odbc +其他安装是完整的,没有任何错误。

这太让人沮丧了。

请..。任何关于如何解决这个问题的建议都是有帮助的。?!

Update:我已经测试了以下内容: 1.安装了旧的postgres & psdqlodbc版本2。在path env变量中添加了psqlodbc路径。卸载独立的psqlodbc安装,并从postgresql包安装Stackbuilder以下载和安装psqlodbc组件。

所有这些都没有任何用处。

最终更新:I能够通过使用psqlodbc_09_03_0400修复这个问题。不管出于什么原因,其他版本一直在抛出错误。

EN

回答 2

Stack Overflow用户

发布于 2016-10-10 01:02:00

显然,根据错误代码的Microsoft索引,error 182意味着ERROR_INVALID_ORDINAL,在这个答案的帮助下,我相信这意味着postgresql驱动程序正在加载另一个DLL,并试图调用其中不存在的函数。

造成这种情况的最可能原因是系统加载了psqlodbc所依赖的DLL的错误版本。事实上,我在这条线上发现了其他人也有同样的问题(尽管早在2005年)。

如果您已经安装了包含psqlodbc所依赖的一个DLL的其他包,甚至可能是psqlodbc的另一个版本,则可能会发生这种情况。

尝试更改windows搜索路径,将包含psqlodbc驱动程序的目录放在前面,以确认是否是这种情况。如果这样做有效,您可能希望缩小问题,直到您能够找到确切的DLL冲突,如果可能的话,删除它。

您正在使用的psqlodbc包也可能存在一些打包问题--如果是这样的话,您可以尝试卸载这个包并安装一个更早的版本。

票数 2
EN

Stack Overflow用户

发布于 2016-10-11 21:35:00

最后更新:我能够通过使用psqlodbc_09_03_0400修复这个问题。不管出于什么原因,其他版本一直在抛出错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39948427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档