我使用 FirebirdSql.Data.FirebirdClient 连接到 Firebird 数据库(WPF 桌面应用程序)。
服务器版本:WI-V3.0.5.33220 Firebird 3.0,ADO.net provider version 7.5.0 (NuGet)
我创建了一个除 SYSDBA 之外的用户,该用户只有对表的只读访问权限(仅限 SELECT)。与 FlameRobin 连接对这个新用户没有任何问题。但是,当我在 FbConnectionStringBuilder 类中指定这个新用户和相应的只读角色时,我得到一个
“您的用户名和密码未定义”
错误。如果我用 SYSDBA 和相应的密码替换新用户,则连接有效。
using FirebirdSql.Data.FirebirdClient;
namespace Test
{
class DBConnection
{
FbConnection fbConnection;
public void CreateConnection()
{
FbConnectionStringBuilder builder = new FbConnectionStringBuilder();
builder.Charset = "WIN1252";
builder.Database = "firebird2:DB_NAME";
builder.Dialect = 3;
builder.Role = "READ_ONLY_OTN";
builder.UserID = "TEST";
builder.Password = "Test";
builder.ServerType = FbServerType.Default;
fbConnection = new FbConnection(builder.ConnectionString);
fbConnection.Open();
}
}
}
除了密码错误(我检查了两次并且还使用 FlameRobin)之外,这个错误的原因可能是什么?