MySql.Data.MySqlClient.MySqlException: Fatal error encountered during command execution的解决方法

最近在用SSMS作业将MySQL中的数据迁移到SQL Server时作业报错,报错信息如下:

消息
已以用户 WORKGROUP\iZw30eykry8q1hZ$ 的身份执行。 Microsoft ® SQL Server 执行包实用工具 Version 10.50.6000.34 for 64-bit 版权所有 © Microsoft Corporation 2010。保留所有权利。 开始时间: 2:07:41 错误: 2018-12-10 02:10:20.36 代码: 0xC0047062 源: house_sms_send_record 源 - 查询 [1] 说明: MySql.Data.MySqlClient.MySqlException: Fatal error encountered during command execution. —> MySql.Data.MySqlClient.MySqlException: Fatal error encountered attempting to read the resultset. —> MySql.Data.MySqlClient.MySqlException: Reading from the stream has failed. —> System.IO.IOException: 无法从传输连接中读取数据: 无法立即完成一个非阻止性套接字操作。。 —> System.Net.Sockets.SocketException: 无法立即完成一个非阻止性套接字操作。 在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) — 内部异常堆栈跟踪的结尾 — 在 MySql.Data.Common.MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count) 在 MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count) 在 System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count) 在 MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count) 在 MySql.Data.MySqlClient.MySqlStream.LoadPacket() — 内部异常堆栈跟踪的结尾 — 在 MySql.Data.MySqlClient.MySqlStream.LoadPacket() 在 MySql.Data.MySqlClient.MySqlStream.ReadPacket() 在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId) 在 MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId) 在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) 在 MySql.Data.MySqlClient.MySqlDataReader.NextResult() — 内部异常堆栈跟踪的结尾 — 在 MySql.Data.MySqlClient.MySqlDataReader.NextResult() 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) — 内部异常堆栈跟踪的结尾 — 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) 在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) 在 Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.PreExecute() 在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper) 错误结束 错误: 2018-12-10 02:10:20.36 代码: 0xC004701A 源: house_sms_send_record SSIS.Pipeline 说明: 组件“源 - 查询”(1) 在执行前阶段失败,返回的错误代码为 0x80004005。 错误结束 DTExec: 已返回包执行 DTSER_FAILURE (1)。 开始时间: 2:07:41 完成时间: 2:10:20 占用时间: 159 秒. 包执行失败。. 该步骤失败。

在这里插入图片描述

有时运行正常,有时运行报错

在网上找了下,说可能原因是使用了变量,所以要设置参数Allow User Variables=True,大概意思是允许使用变量

具体设置如下:

在这里插入图片描述

在这里插入图片描述

设置好后就可以了,记录分享下,希望能帮助到大家。

  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:黑客帝国 设计师:我叫白小胖 返回首页
评论

打赏作者

浮云6363

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值