是否可以在由C#组成的Mono项目上连接Azure Sql数据库?

时间:2015-01-19 01:36:36

标签: c# azure mono azure-sql-database

我正在开发单项目C#控制台应用程序,我需要连接Azure Sql数据库服务。 我创建此代码,这会发生异常“NotImplement Exception”。 我试着找到解决方案。但它没有实施SSL加密。 这现在解决了这个问题吗?

using System;
using System.Data;
using System.Data.SqlClient;
using Mono.Security;
namespace AzureConsoleApplication
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("Hello World!");

            string connectionString = "Server=tcp:Server.database.windows.net,1433;Database=TestDatabase;" +
            "User ID=ID@Servername;Password=password;" +
            "Trusted_Connection=False;Encrypt=true;Connection Timeout=30;";
            IDbConnection dbcon;
            using (dbcon = new SqlConnection(connectionString))
            {
                dbcon.Open ();
                using (IDbCommand dbcmd = dbcon.CreateCommand())
                {
                    string sql = "SELECT * FROM MyTable1;";
                    dbcmd.CommandText = sql;
                    using (IDataReader reader = dbcmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string first = (string)reader ["ID"];
                            string twice = (string)reader ["Col1"];
                            Console.WriteLine ("ID : " + first + "Col1 : " + twice);
                        }
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

最后我检查过Mono不支持SSL连接到SQL数据库。

https://github.com/mono/mono/blob/master/mcs/class/System.Data/System.Data.SqlClient/SqlConnection.cs#L765

这是一个严重的黑客,但在我现在的公司,我们在本地SQL服务器上创建了一个链接服务器,然后通过它进行数据库调用。

有趣的是node.js的SQL客户端支持SSL。 =)