Firebird ado.net 提供程序中不兼容的有线加密级别的解决方法
Workaround for incompatible wire encryption levels in Firebird ado.net provider
我知道这个问题已经被问过,解决方案之一是更改配置文件中的 WireCrypt 设置。但是,我的应用程序必须连接到使用 Firebird 3.0 db 的第三方软件,因此我无法控制 db 配置。
问题是:是否有任何解决方法可以使用 Firebird Ado.net 提供程序从 .Net 应用程序连接到 firebird 数据库(使用默认的 wirecrypt 设置)?
编辑:针对 Mark Rotteveel 的回答进行编辑。我已经尝试过这种方法,但我无法强制通过 TCP 建立连接,而是收到错误消息:
Unable to complete network request to host \"xnet://Global\FIREBIRD\".
构建器生成的连接字符串:
"server type=Embedded;initial catalog=C:\foldername\dbfile.ibb;data source=192.168.0.108;port number=3050;user id=****;password=****;client library=\"C:\Program Files (x86)\Firebird\Firebird_3_0\fbclient.dll\""
要能够使用有线加密,您需要更新到 Firebird ADO.net 提供程序版本 7。版本 7 添加了对有线加密的支持,请参阅 ADO.NET provider 7.0.0.0 for Firebird is ready 了解更多信息。
旧答案
理想情况下,服务器需要配置为 WireCrypt = Enabled
,因为不允许客户端降低服务器的安全要求。
如果那确实不是一个选项,那么您应该尝试使用 Firebird ado.net 提供商的嵌入式服务器选项。由于嵌入式服务器使用本机 Firebird 客户端库,它也可用于连接到 Firebird 服务器,因此使用 Firebird 3 fbclient.dll 应该允许您连接。但是,我不能 100% 确定这是否真的适用于 Firebird ADO.net 提供程序,因此我将对此进行测试并稍后创建更详细的文章。
我还没有设法通过嵌入式连接到服务器,所以看起来除了更改服务器配置之外别无选择 (WireCrypt = Enabled
)。
我知道这个问题已经被问过,解决方案之一是更改配置文件中的 WireCrypt 设置。但是,我的应用程序必须连接到使用 Firebird 3.0 db 的第三方软件,因此我无法控制 db 配置。 问题是:是否有任何解决方法可以使用 Firebird Ado.net 提供程序从 .Net 应用程序连接到 firebird 数据库(使用默认的 wirecrypt 设置)?
编辑:针对 Mark Rotteveel 的回答进行编辑。我已经尝试过这种方法,但我无法强制通过 TCP 建立连接,而是收到错误消息:
Unable to complete network request to host \"xnet://Global\FIREBIRD\".
构建器生成的连接字符串:
"server type=Embedded;initial catalog=C:\foldername\dbfile.ibb;data source=192.168.0.108;port number=3050;user id=****;password=****;client library=\"C:\Program Files (x86)\Firebird\Firebird_3_0\fbclient.dll\""
要能够使用有线加密,您需要更新到 Firebird ADO.net 提供程序版本 7。版本 7 添加了对有线加密的支持,请参阅 ADO.NET provider 7.0.0.0 for Firebird is ready 了解更多信息。
旧答案
理想情况下,服务器需要配置为 WireCrypt = Enabled
,因为不允许客户端降低服务器的安全要求。
如果那确实不是一个选项,那么您应该尝试使用 Firebird ado.net 提供商的嵌入式服务器选项。由于嵌入式服务器使用本机 Firebird 客户端库,它也可用于连接到 Firebird 服务器,因此使用 Firebird 3 fbclient.dll 应该允许您连接。但是,我不能 100% 确定这是否真的适用于 Firebird ADO.net 提供程序,因此我将对此进行测试并稍后创建更详细的文章。
我还没有设法通过嵌入式连接到服务器,所以看起来除了更改服务器配置之外别无选择 (WireCrypt = Enabled
)。