iAnywhere.Data.SQLAnywhere.SAException Connection error: Connection was dropped (may not be a SQL Anywhere server)

iAnywhere.Data.SQLAnywhere.SAException Connection error: Connection was dropped (may not be a SQL Anywhere server)

尝试从 Azure ServiceFabric 连接到 SQLAnywhere (Sybase) 数据库(C# 代码)时:

await using var connection = new SAConnection(connectionString);
await connection.OpenAsync();

收到iAnywhere.Data.SQLAnywhere.SAException

Connection error: Connection was dropped (may not be a SQL Anywhere server)

错误代码为错误 832。This is generic connection errorAn error occurred while attempting to establish a connection with the database server, but before attempting to connect to a database. Failure to initialize a communication link during the connection attempt is an example of this error. Creating a debug log file using the LogFile connection parameter may provide more information.

它在本地有效,但在 Service Fabric 中无效。

修复尝试的想法:

  1. 缺少驱动程序?看起来不,Sybase(现在是 SAP)SQLAnywhere 需要特殊的驱动程序或客户端 - 但本地也可以在没有此驱动程序的情况下工作,只需安装 iAnywhere.Data.SQLAnywhere.NETCore nupackage
  2. 网络连接/防火墙问题?看起来没有,可以从 Service Fabric 节点
  3. ping 数据库服务器

这是另一个交通保护工具。虽然可以远程登录端口,但来自应用程序的流量仍然被另一个工具阻止。

有一个类似的问题 - 结果表明,虽然来自 Sybase 服务器的标准传入流量已在我们的防火墙中列入白名单,但来自此的加密流量却没有。

这意味着我可以 ping 并连接到 Telnet,但是在尝试 log-in 使用我的凭据

时遇到了同样的错误

连接错误:连接已断开(可能不是 SQL Anywhere 服务器)

我们的通信团队也通过将来自服务器地址的加密流量列入白名单解决了这个问题。他们还提到,我们与他们的团队共享加密数据的有效安全证书可能已经解决了,但对第一个行动方案感到满意。