У меня есть приложение на основе VFP с каталогом, полным DBF.Я использую ODBC в .NET для подключения и выполнения транзакций в этой базе данных.Я хочу отразить эти данные в mySQL, работающем на моем веб-хосте.
Примечания:
- Это будет только одностороннее зеркало.VFP в mySQL
- Должны поддерживаться только вставки и обновления.Удаление не имеет значения
- Не все таблицы обязательны.Фактически, я бы предпочел использовать определенный оператор SELECT только для зеркального отображения псевдо-представлений необходимых данных
- У меня нет такой роскоши, как штамп с модифицированным временем ни в одной записи VFP.
- У меня нет тонны записей данных (может быть, всего несколько тысяч), и при этом у меня нет тонны одновременных пользователей на стороне MySQL, хотя я хочу быть максимально эффективным.
Предлагаемая стратегия для вставок (не кажется, что это плохо ...):
- Создайте временную таблицу в MySQL, вставьте все первичные ключи таблицы / представления VFP.Я хочу отразить
- Выполнить «SELECT primaryKey из tempTable не в (SELECT primaryKey from mirroredTable)» на стороне MySQL, чтобы определить отсутствующие записи
- Создать и запустить необходимый INSERT sql для этих записей
- Сдвиньте временную таблицу
Предлагаемая стратегия обновлений (кажется очень тяжелой, возможно, ломает открытые запросы на удаленной таблице mySQL):
- Создать временную таблицу вmySQL и вставьте ВСЕ записи из таблицы / представления VFP. Я хочу отразить
- Удалить существующую таблицу mySQL
- Изменить имя tempTable на имя новой таблицы
Это всего лишьПервые стратегии, которые приходят на ум, я уверен, что есть более эффективные способы сделать это (особенно на стороне обновления).
Я ищу альтернативные стратегии здесь.Какие-нибудь блестящие идеи?