Как исправить ошибку, возникающую при передаче данных между SQL Server и MySql?

У меня есть пакет SSIS, который подключается к серверу mysql и пытается извлекать данные из разных таблиц и вставлять строки в базу данных SQL Server 2005.

Одна проблема, которую я замечаю, заключается в том, что в любой момент времени, когда он запускается, независимо от того, на каком этапе он находится, он почти всегда не может перенести общие записи из mysql на сервер sql.

ошибок нет.

Однажды утром у него будет все 11 миллионов записей, а при следующем запуске от 3 до 17 тысяч записей.

Кто-нибудь заметил что-нибудь подобное?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
1 249
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я импортирую данные из двух отдельных баз данных MySQL - одной через Интернет, а другой - внутри компании. У меня никогда не было такой проблемы. Не могли бы вы описать, как вы настраиваете подключение к базе данных MySQL? Я использовал драйвер ODBC, доступный на веб-сайте MySQL, и подключился с помощью источника данных ADO.NET в моем потоке данных, который ссылается на соединение ODBC.

Один из возможных способов хотя бы предотвратить загрузку неполных данных - это загрузка только новых записей. Если исходная таблица имеет идентификатор, а записи никогда не меняются после вставки, вы можете ввести максимальный идентификатор, предварительно проверив свою базу данных.

Другой возможный способ предотвратить загрузку неполных данных - загрузить базу данных MySQL в промежуточную таблицу на вашем целевом сервере, а затем загрузить только те записи, которые вы еще не загрузили.

Еще один способ сделать это - загрузить данные в промежуточную таблицу, убедиться, что записи превышают некоторый минимальный порог, такой как количество строк в целевой таблице или ожидаемое минимальное количество транзакций в день, а затем фиксировать изменения только после этого. Проверка. Если строк недостаточно, создайте ошибку в пакете и отправьте уведомление по электронной почте. Преимущество сообщения об ошибке заключается в том, что вы можете настроить задание агента SQL Server на повторение шага для определенного количества попыток, чтобы увидеть, решит ли это проблему.

Надеюсь, эти советы помогут, даже если они напрямую не устраняют основную причину вашей проблемы.

мы не можем импортировать инкрементные данные из-за того, как поставщик обновляет / вставляет строки, ни одна попытка не завершается неудачей - каждая успешна, но с неправильным счетчиком записей. мы решили создать представления против серверов mysql. mysql теперь связаны, поэтому он работает довольно хорошо.

IEnumerator 08.01.2009 04:46

Я только один раз пробовал MySQL -> SQL Server через SSIS, но обнаруженная мной ошибка связана с тем, что даты MySQL не конвертируются в даты SQL Server. Я бы подумал, что это нарушит весь поток данных, но в зависимости от вашей конфигурации вы могли бы настроить его исключительно для игнорирования плохих строк?

проблема с datetime из mysql в mssql была решена с использованием типа данных переменного размера

IEnumerator 08.01.2009 04:44

Другие вопросы по теме