我已经在新设置的Windows Server 2016上安装了32位Firebird 3.0.3 Classic Server(32位是因为我必须使用仅32位可用的旧版UDF dll)。除了64位ODBC连接之外,所有连接都可以从客户端计算机正常工作(32位ODBC连接,FlameRobin)。但是,当我尝试通过64位ODBC DSN访问数据库时,出现错误“您的用户名和密码未定义”。
在这种情况下,我的客户端计算机是Windows Server 2012 R2。我已完成以下步骤:
我确定我没有拼错密码。我可能错过了什么?非常感谢!
答案 0 :(得分:1)
通常这样的问题(当您有两个几乎相同的应用程序,并且只有其中一个正在工作时)通常通过比较它们的行为并寻找差异来诊断,然后尝试更改计算机或应用程序设置以消除可疑和不必要的差异,除非这两个程序的工作。 SysInternals Process Monitor是一个有用的工具,可以将其设置为记录文件I / O轨道(还包括注册表和其他内容),从而可以对程序实现及其失败提供有价值的见解。在这种特殊情况下,当您在ODBC32和ODBC64窗口中按“测试连接”按钮时,文件和注册表访问的轨迹可能会突出显示64位应用程序与32位应用程序出现错误的地方。
如果要跳过一段时间的系统诊断并尝试仅作猜测,那么Mark建议64位应用无法找到正确的fbclient.dll
(在正确的位置可能意味着很多事情:FB版本,32 / 64-位,文本配置文件等等。
看到您的ODBC设置窗口有一个明确的字段“ Client”和“ Browse”按钮,我猜测ODBC试图自动定位客户端库,并且由于某种原因找到了一些不幸的库。
然后,我建议您尝试将“客户端”字段设置为Firebird引擎本身使用的fbclient.dll
文件,如果您没有更改默认安装设置,则类似于“ c:\ Program” Files \ Firebird \ Firebird_3_0 \ bin \ fbclient.dll“