gpt4 book ai didi

postgresql - postgres odbc 连接失败

转载 作者:行者123 更新时间:2023-11-29 12:42:56 24 4
gpt4 key购买 nike

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

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

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)

这是连接字符串:

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

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

Postgres + odbc + 其他安装已完成且没有任何错误。

这太令人沮丧了。

拜托..关于如何解决这个问题的任何想法都会有所帮助。?!

更新:我测试了以下内容:1. 安装较旧的 postgres 和 psdqlodbc 版本2. 在开始时将 psqlodbc 路径添加到 PATH env 变量3. 卸载独立的 psqlodbc 安装,并从 postgresql 包安装 Stackbuilder 以下载和安装 psqlodbc 组件。

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

最终更新:我能够通过使用 psqlodbc_09_03_0400 来解决这个问题。无论出于何种原因,其他版本不断抛出错误。

最佳答案

显然,根据 Microsoft index在错误代码中,错误 182 表示 ERROR_INVALID_ORDINAL,借助 this answer我相信这意味着 postgresql ODBC 驱动程序正在加载另一个 DLL 并试图调用其中不存在的函数。

最可能的原因是系统加载了错误版本的 DLL,psqlodbc 依赖于该 DLL。事实上我找到了this thread其他人遇到了同样的问题(虽然早在 2005 年)。

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

尝试更改 Windows 搜索路径,将包含 psqlodbc 驱动程序的目录放在前面,以确认是否是这种情况。如果可行,您可能想尝试缩小问题范围,直到您可以准确找到冲突的 DLL,并在可能的情况下将其删除。

您正在使用的 psqlodbc 包也可能存在一些打包问题 - 如果是这种情况,您可以尝试卸载该包并安装较早版本。

关于postgresql - postgres odbc 连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com