0

我正在尝试从我的简单测试 .net 应用程序连接到firebird 3.0最新版本。ADO.NET provider 5.0.5.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 获取 ADO.NET 提供程序。实际上我不需要 SRP 加密,所以我禁用了 WireCrypt 等并使用 Legacy 身份验证(Firebird 3.0 发行说明 第 117 页)。然后我通过 IBExpert 创建了我的新用户(sysdba 是在安装 firebird 服务器期间创建的)。

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

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

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

4

1 回答 1

0

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

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

  2. 以旧方式创建用户帐户(在我的情况下通过 IBExpert)

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

于 2016-05-30T07:42:16.673 回答