'SQL Server Agent job losing data inserting to MySQL via ODBC

We have a large SQL Server database that uses agent jobs to insert records of outgoing messages into a MySQL table on another server that is a open queue. Problem is when we get to records that are more than 5000, it starts to lose records. So 7800 transferred, only 5500 will actually be inserted. But the job reports that it successfully ran.

The jobs run a dots file that defines the database connections via the servers ODBC. What's weird is we never had any issues before and I suspect its because of the earlier MySQL drivers. We had to use new ones because the old wouldn't install on the new server platforms.

Here is the error we're getting:

Executed as user: NT Service\SQLSERVERAGENT. Microsoft (R) SQL Server Execute Package Utility Version 11.0.5058.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 2:58:45 PM Error: 2022-02-18 14:59:46.59 Code: 0xC002F210 Source: Transfer to MySQL Execute SQL Task Description: Executing the query "INSERT INTO OPENQUERY(TABLE, 'SELECT sql_id..." failed with the following error: "Query timeout expired". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 2:58:45 PM Finished: 2:59:46 PM Elapsed: 60.778 seconds. The package execution failed. The step failed.

If it ever fails it happens right at the 60sec mark.

Does anyone have any idea why this would happen? Are there settings that need to be altered to ensure the transfer completes?

Please let me know what I can provide to assist.

Thank you all!!!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source