簡體   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