从 v2.5 迁移 firebird 3 后,我使用 TCP\IP 连接字符串进行了回归。FirebirdClient 版本是 4.6.1,但我已经使用最新的稳定版本进行了测试,但它也不起作用(v7.10.1)。
错误消息是“您的用户名和密码未定义。请您的数据库管理员设置 Firebird 登录”。
堆栈跟踪:
at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
at FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection owner)
at FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Get(ConnectionString connectionString, FbConnection owner)
at FirebirdSql.Data.FirebirdClient.FbConnection.Open()
用户是通过 IBExpert UI 创建的。
这是连接字符串的外观(显然不是现实生活中的连接数据):
@"Database=inet://10.000.0.000:3050/C:\Database.FDB;User=MY_USER;Password=secret";
如果使用标准相同的网络连接字符串,则相同的用户可以工作,如下所示:
@dialect=3;initial catalog=C:\Database.FDB;data source=localhost;user id=MY_USER;password=secret;character set=ISO8859_1;pooling=True;connection lifetime=30;server type=Default;port number=3050
我的 firebird.conf 设置如下:
ServerMode = Super
DefaultDbCachePages = 100K
FileSystemCacheThreshold = 100M
TempBlockSize = 2M
TempCacheLimit = 4000M
AuthServer = Legacy_Auth, Srp, Win_Sspi
AuthClient = Legacy_Auth, Srp, Win_Sspi
UserManager = Legacy_UserManager, Srp
WireCrypt = Enabled
RemoteServicePort = 3050
LockMemSize = 30M
LockHashSlots = 30011
RemoteAccess = true
不知道我在这里缺少什么。上面的连接字符串适用于 SYSDBA。根据我读过的火鸟文档,它看起来不错。我已经阅读了具有相同问题的所有其他 stackoverflow 票证,但没有看到任何适合我的答案。有任何想法吗?