Firebird ADO.NET 提供程序 5.0.5.0 到 Firebird 3.0 无法连接(除了 sysdba)

问题描述 投票:0回答:1

我正在尝试从我的简单测试 .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 等并使用旧版身份验证(Firebird 3.0 发行说明 第 117 页) 。然后我通过 IBExpert 创建了新用户(sysdba 是在安装 firebird 服务器期间创建的)。

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

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

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

ado.net firebird firebird-3.0
1个回答
0
投票

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

  1. 在firebird.conf中,必须有:

    WireCrypt = Enabled
    (未禁用)

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

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

© www.soinside.com 2019 - 2024. All rights reserved.