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

时间:2016-05-27 06:55:33

标签: ado.net firebird connect firebird-3.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超级经典并从nuget获得ADO.NET提供者。实际上我不需要SRP ecryption所以我禁用了WireCrypt等并使用了Legacy身份验证(Firebird 3.0 release notes第117页)。然后我通过IBExpert创建了我的新用户(sysdba是在安装firebird服务器期间创建的)。

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

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

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

1 个答案:

答案 0 :(得分:0)

我有一些不好的配置,我需要设置正确:

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

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

3,密码必须达到最大值长度为8个字符(以前你可以有更多的字符和火鸟省略)