C# C-MySQL-MySQL.Data.MySqlClient.MySqlStream.ReadPacket()

C# C-MySQL-MySQL.Data.MySqlClient.MySqlStream.ReadPacket(),c#,mysql,C#,Mysql,我试图通过远程连接连接到mysql服务器 连接字符串为 服务器={IP};数据库={DB};uid={usernname};pwd={password} try { conn.Open(); sqlCmd = conn.CreateCommand(); sqlCmd.CommandText = sqlStr; reader = sqlCmd.ExecuteReader(); //-&g

我试图通过远程连接连接到mysql服务器

连接字符串为 服务器={IP};数据库={DB};uid={usernname};pwd={password}

        try {
            conn.Open();
            sqlCmd = conn.CreateCommand();
            sqlCmd.CommandText = sqlStr;
            reader = sqlCmd.ExecuteReader(); //->LINE 32
            while(reader.Read()) //Add to library
        } catch (Exception ex) { }
        finally {
           //Close connection and reader
        }
我犯了这个错误

08 June 2015 12:58:46 PM   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
   at ProgramTest.Program.Main() in C:\Projects\ProgramTest\ProgramTest\Program.cs:line 32
我尝试使用Mysql Workbench连接,并成功接收结果

我有没有遗漏导致问题的代码


提前谢谢

这个问题在5年前就很活跃了。到目前为止,我不确定这对你是否有帮助。但过去两天我也面临同样的问题。出现此问题的原因是您为参数传递了超出其限制的巨大值


示例:参数'name varchar15'和名称xxxyyxxx…..xxx的传递值大于15。尝试将varchar限制从15增加到100,然后重试。我希望它能起作用。这同样适用于我。

您是否与多个命令对象共享一个连接对象?否。。我在program.cs中的program函数中运行此代码,然后再执行其他所有操作,以确保没有建立其他连接。debug并显示错误消息。String sqlStr=SELECT*FROM Username=@Username和Password=@Password和isActive=1;命令部分sqlCmd.Parameters中的一些参数。AddWithValue@username1.sqlCmd.Parameters。AddWithValue@password1.MySqlClient期望什么?参数char而不是@。看看这个。