我正在尝试从我的简单测试.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(每个人都需要通过用户连接),所以我猜我的配置有些不好。
答案 0 :(得分:0)
我有一些不好的配置,我需要设置正确:
1,在firebird.conf中,必须有:WireCrypt = Enabled
(未禁用)
2,以旧方式创建用户帐户(在我的情况下通过IBExpert创建)
3,密码必须达到最大值长度为8个字符(以前你可以有更多的字符和火鸟省略)