我在新安装的Windows 2016上安装了Firebird 3.0.3经典服务器32位(32位,因为我必须使用只在32位中可用的遗留UDF dll )。除了64位ODBC连接,所有连接都可以从客户端机器(32位ODBC连接,FlameRobin)很好地工作.但是,当我试图通过64位ODBC DSN访问数据库时,我会得到“您的用户名和密码未定义”的错误。
在本例中,我的客户端计算机是Windows 2012 R2。我已经完成了以下步骤:
我肯定我没有拼错密码。我错过了什么?非常感谢!
发布于 2018-09-20 09:18:01
通常情况下,像这样的问题(当您有两个几乎相同的应用程序并且其中一个在工作时)通常通过比较它们的行为和寻找差异来诊断,然后尝试更改计算机或应用程序设置,以消除可疑和不必要的差异,除非这两个程序都能工作。它的一个有用工具是SysInternals Process,它可以被设置为记录文件I/O跟踪(也是注册表和其他东西),这可以帮助您深入了解程序实现及其故障。在这种特殊情况下,当您在ODBC32和ODBC64窗口中按下“测试连接”按钮时,文件和注册表访问的跟踪可能会突出64位应用程序开始出错的地方,而32位应用程序则相反。
如果要跳过系统诊断并尝试猜测,那么Mark建议64位应用程序无法找到正确的fbclient.dll (适当的应用可能意味着很多事情: FB版本、32/64位、文本配置文件等等)。
看到ODBC设置窗口有一个带有"Browse“按钮的显式字段" client”,我猜测ODBC试图自动定位客户端库,并出于某种原因定位了一些不幸的库。然后,我建议您尝试将"Client“字段设置为Firebird引擎本身使用的fbclient.dll文件,如果不更改默认安装设置,则类似于"c:\Program Files\Firebird\Firebird_3_0\bin\fbclient.dll”
https://stackoverflow.com/questions/52400221
复制相似问题