C# ExecuteOnQuery上的套接字异常

C# ExecuteOnQuery上的套接字异常,c#,mysql,C#,Mysql,我得到以下例外情况: System.Net.Sockets.SocketException:发送或接收数据的请求 不允许,因为套接字未连接和(发送时) 在使用sendto调用的数据报套接字上)未提供地址 位于System.Net.Sockets.Socket.Shutdown(SocketShutdown)处 MySql.Data.Common.SocketStream.Read(字节[]缓冲区,Int32偏移量,Int32 计数)在System.IO.BufferedStream.ReadBy

我得到以下例外情况:

System.Net.Sockets.SocketException:发送或接收数据的请求 不允许,因为套接字未连接和(发送时) 在使用sendto调用的数据报套接字上)未提供地址
位于System.Net.Sockets.Socket.Shutdown(SocketShutdown)处 MySql.Data.Common.SocketStream.Read(字节[]缓冲区,Int32偏移量,Int32 计数)在System.IO.BufferedStream.ReadByte()处 MySql.Data.MySqlClient.PacketReader.ReadHeader()位于 MySql.Data.MySqlClient.PacketReader.OpenPacket()位于 MySql.Data.MySqlClient.NativeDriver.Open()位于 MySql.Data.MySqlClient.MySqlConnection.Open()位于 DataAcessLayer.SQLData.ExecuteOnQuery(字符串sql,MySqlParameter[]p) 在e:Live applicationfmsgsfmapp_CodeDataAccessLayerSQLData.cs:line 42中

我正在使用MYSQL.dll进行数据库连接。这个例外意味着什么?如果您需要任何其他信息,请告诉我

我得到异常的代码

public static int ExecuteNonQuery(string sql, MySqlParameter[] p)
    {
        MySqlConnection cnn = new MySqlConnection(strConn);
        int retval = 0;
        try
        {
            cnn.Open(); // this is line no 42 which throws error
            MySqlCommand cmd = new MySqlCommand(sql, cnn);
            if (p == null)
                cmd.CommandType = CommandType.Text;
            else
                cmd.CommandType = CommandType.StoredProcedure;

            if (p != null)
            {
                for (int i = 0; i < p.Length; i++)
                {
                    cmd.Parameters.Add(p[i]);
                }
            }
            retval = cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            if (cnn != null)
            {
                cnn.Close();
            }
            TealErrorLog.addError(4, "SQLData.cs at Line 65; Query:" + sql, ex.ToString() + " Parameters:" + p.ToString(), MySQLCommonFunctions.toMySQLDate(DateTime.Now.ToString()));
        }
        finally
        {
            if (cnn != null)
            {
                cnn.Close();
            }
        }
        return retval;
    }
publicstaticintexecutenonquery(字符串sql,MySqlParameter[]p)
{
MySqlConnection cnn=新的MySqlConnection(strConn);
int-retval=0;
尝试
{
cnn.Open();//这是抛出错误的第42行
MySqlCommand cmd=新的MySqlCommand(sql,cnn);
if(p==null)
cmd.CommandType=CommandType.Text;
其他的
cmd.CommandType=CommandType.storedProcess;
如果(p!=null)
{
对于(int i=0;i
欢迎!将您的代码示例放在您所尝试的内容上。和访问链接你能分享你的连接字符串吗?您还可以从workbench连接到服务器吗?@ChetanRanpariya是的,我可以通过workbench连接mysql。我的MYSQL服务经常停止,我必须重新启动它。连接字符串:我认为您需要深入了解服务停止的原因。您可以从查看事件查看器开始,查看是否存在任何意外错误或日志,这些错误或日志可以让您了解服务停止背后的原因。您可以在该方法中的调试模式下看到此连接字符串吗?请注意,异常显示“未提供地址”。