在raspberry Pi上运行.net应用程序和Mono.连接Azure SQL失败,SSL加密

本文关键字:SQL Azure 连接 失败 加密 SSL Mono Pi raspberry 运行 应用程序 | 更新日期: 2023-09-27 18:02:52

当我尝试连接到Windows Azure SQL数据库与我的。net应用程序在我的树莓派与Mono我得到这个错误:

Unhandled Exception:
System.NotImplementedException: SSL encryption for data sent between client
and server is not implemented. 

和代码:

using (SqlConnection conn = new SqlConnection("Server=tcp:ip,1433;Database=db;User ID=user@IP;Password=PASSWORD;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"))
{
    using (SqlCommand command = conn.CreateCommand())
    {
        conn.Open();
        command.CommandText = "INSERT INTO db (temp) values (10)";
        command.ExecuteNonQuery();
        conn.Close();
    }
}

在Windows上运行正常。

为什么我在树莓派上收到Unhandled Exception ?

在raspberry Pi上运行.net应用程序和Mono.连接Azure SQL失败,SSL加密

因为加密是在Mono SqlConnection类上实现的。搜索encrypt -它仍然在"monotodo"中。列表。

我想知道为什么你没有得到引发的NotImplementedException…

正如异常消息所述,在Mono中未实现SQL连接的SSL加密。除非Mono团队在即将发布的版本中实现它,否则你根本无法使用该功能,需要找到一个解决方案。这个问题可以在这方面有所帮助。

"在Windows上一切正常。"

通过简单地调用可执行文件来启动。net应用程序,使用Microsoft . net CLR而不是Mono来运行它。如果安装了Mono,您应该能够通过使用

从命令行启动应用程序在windows上重现您的问题。
mono yourapp.exe