Firebird ADO.NET 提供程序 5.0.5.0 到 Firebird 3.0 无法连接,sysdba 除外

Firebird ADO.NET provider 5.0.5.0 to Firebird 3.0 can not connect except sysdba

我正在尝试从我的简单测试 .net 应用程序通过最新版本的 ADO.NET provider 5.0.5.0 连接到 firebird 3.0。当我使用 sysdba 时,用户连接正常,但如果我使用其他用户,则连接失败并出现经典 FBException:

Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

"initial catalog=c:\Database\Data.fdb;data source=localhost;user id=sysdba;password=sysPass;port number=3050" = 好的

"initial catalog=c:\Database\Data.fdb;data source=localhost;user id=michal;password=micPass;port number=3050" = 失败

但是如果我尝试通过 IBExpert 或 isql 进行连接,则连接正常并且我可以从表中获取数据。

以前我使用 Firebird 2.1 然后我升级到 Firebird 3.0 superclassic 并从 nuget.Actually 获得 ADO.NET provieder 我不需要 SRP 加密所以我禁用了 WireCrypt 等并使用旧版身份验证(Firebird 3.0 release notes 第 117 页)。然后我通过 IBExpert 创建了我的新用户(sysdba 是在安装 firebird 服务器期间创建的)。

我不需要从以前的 firebird 版本迁移用户,所以我跳过了升级 v.2.x 安全数据库步骤。

奇怪的是,我可以通过 IBExpert 或 isql 连接 myUser,但不能通过 ADO.NET 提供商连接。

在我看来 ADO.NET 提供商不太可能有这种类型的错误(每个人都需要通过用户连接),所以我想我的配置有问题。

我有一些错误的配置,我需要正确设置:

  1. 在firebird.conf中,必须有:WireCrypt = Enabled(未禁用)

  2. 以旧的方式创建用户帐户(在我的例子中是通过 IBExpert)

  3. 密码必须最大。长度 8 个字符(以前你可以有更多字符,而 Firebird 是省略的)