У меня большая база данных на одном сервере MSSQL, которая содержит данные, проиндексированные веб-сканером.Каждый день я хочу обновить индекс SOLR SearchEngine, используя DataImportHandler, который находится на другом сервере и в другой сети.
Solr DataImportHandler использует запрос для получения данных из SQL.Например, этот запрос
SELECT * FROM DB.Table WHERE DateModified > Config.LastUpdateDate
ImportHandler делает 8 выборок этого типа.Каждый выбор получит около 1000 строк из базы данных.
Для подключения к SQL SERVER я использую com.microsoft.sqlserver.jdbc.SQLServerDriver
Параметры, которые я могу добавитьдля подключения:
- responseBuffering = "adaptive / all"
- batchSize = "integer"
Так что мой вопрос:
Что может пойти не так при выполнении этих запросов каждый день? (кроме сетевых ошибок) Я хочу знать, как работает SQL Server в этом контексте?
Далее мне нужно принять решениеотносительно того, как я буду реализовывать этот импорт и как обрабатывать ошибки, но сначала мне нужно знать, какие ошибки могут возникнуть.
Спасибо!
Позже редактирование
Моя проблема в том, что я не знаю, как этот SQL-запрос может дать сбой.Когда я звоню этому импортеру каждый день, он делает 10 запросов к базе данных.В случае сбоя 5-го запроса у меня есть варианты: откатить всю транзакцию и повторить ее, или зафиксировать данные, полученные из первых 4 запросов, и каким-то образом повторить запросы с 5 по 10. Но если этот запрос всегда терпит неудачу из-за некоторых других проблемМне нужно подумать о другом способе импорта этих данных.
Может ли этот sql-запрос по Интернету завершиться неудачей из-за операций тайм-аута или что-то в этом роде?