繁体   English   中英

Firebird ADO.NET 4.10.0.0数据提供程序是否适用于Firebird 3.0?

[英]Does Firebird ADO.NET 4.10.0.0 Data provider work with Firebird 3.0?

我目前正在尝试将我的ASP.net 4.5项目连接到最近发布的Firebird 3.0。

我正在使用Visual Studio 2015社区版,Firebird 3(64位),并使用NuGet来获取ADO.NET 4.10.0.0。

但是,当我尝试连接时,我收到以下消息的异常:

this.connect.ServerVersion抛出了类型'System.InvalidOperationException'的异常

我得到的其他一些消息:

消息:“连接已关闭”
来源:FirebirdSQL.Data.Fierbird.Client
堆栈跟踪:
at FirebirdSql.Data.FirebirdClient.FbConnection.get_ServerVersion()在C:\\ Users \\ Jiri \\ Documents \\ devel \\ NETProvider \\ working \\ NETProvider \\ src \\ FirebirdSql.Data.FirebirdClient \\ FirebirdClient \\ FbConnection.cs:第217行

IBExpert连接没有任何问题。

此环境以前与Firebird 2.5和较旧的ADO.Net一起使用

现在最好的猜测是,它不受支持,但我的在线研究尚无定论(从我能找到的,有迹象表明它是用Firebird 3 RC1测试的)

如果有人能指出我正确的方向来实现这一目标,那将是非常棒的。

提前致谢!

我假设您安装了Firebird 3并且没有修改任何配置,我正在回答这个问题。 默认情况下,Firebird 3的安装将具有一些严格的安全设置:

  • 它只支持新的SRP身份验证模型
  • 它将需要有线协议加密

这意味着尚不支持SRP身份验证模型和有线协议加密的驱动程序(如Firebird .NET提供程序4.10)将无法立即连接。

为了能够连接,您需要执行以下操作

  1. 启用旧版身份验证模型
  2. 将有线协议加密设置从必需降级为启用
  3. 在旧版身份验证模型中创建用户

这些步骤都需要编辑firebird.conf 如果您将Firebird安装到Program Files ,则需要确保您的编辑器以管理员身份运行才能保存更改。

启用旧版验证

要启用旧版身份验证,您需要编辑或添加以下行到firebird.conf :(注意前缀为#是注释!)

AuthServer = Srp, Legacy_Auth

降级有线协议加密

要降级有线协议加密设置,您需要编辑或添加以下行到firebird.conf

WireCrypt = Enabled

创建旧版身份验证用户

为了能够在旧版身份验证模型中创建用户,您需要通过编辑或向firebird.conf添加以下行来启用旧版用户管理器插件:

UserManager = Srp, Legacy_UserManager

完成上述更改后,重新启动Firebird,使用您最喜欢的数据库管理工具使用SYSDBA或其他管理员帐户连接到(任意)Firebird 3数据库,并使用带有CREATE USER的Legacy_UserManager CREATE USER (用适当的值替换legacy用户名和密码):

CREATE USER legacy PASSWORD 'legacy' USING PLUGIN Legacy_UserManager

确保提交,否则用户不是真正创建的。

现在,您应该能够使用刚创建的用户从C#连接。

Firebird 3发行说明,第12章兼容性问题,传统身份验证中也记录了这一点。

不建议使用gsec或服务功能来创建用户。 如果您仍希望使用其中任何一个在旧版身份验证模型中创建用户,则需要编辑firebird.conf并将Legacy_UserManager放在Legacy_UserManager第一位。

支持Firebird .NET提供程序版本5.0.0.0及更高版本

请注意,Firebird .NET提供程序版本5.0.0.0添加了对SRP的支持(无线协议加密)。 因此,从Firebird .NET提供程序版本5,您可以使用新的身份验证模型。 只需确保将有线协议加密(设置WireCrypt )从Required (默认)降级为Enabled ,如上所述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM