Вот что я попробовал.Что еще я пропустил или должен был попробовать?
Моя ситуация:
- SQL / Server в другой стране - ненадежное прямое подключение к Интернету, непостоянная стоимость частной линии, состояние линии постоянно меняется(ping от 180 до 500+)
- Доступ к SQL / Server через VPN-соединение - очень медленный, но чистый / надежный
- Доступ к базе данных ACCDB (ace) в США - низкий объем, нормально работает
- Требуется «Вставить в select * from»
Я пробовал все следующее:
DAO - (currentdb.execute) запускает Access SQL, OLEDB-соединение с удаленнымSQL / Server через VPN - может использовать «вставить в» очень медленно.
ADO с использованием Access SQL - даже медленнее.
Только OLEDB, команда SQL, выданная удаленному SQL / Server, может 'Я не вижу локального файла ACCDB, поэтому вам нужно пройтись по набору записей, составив оператор SQL для каждой записи.Очень медленно.Много дополнительного кодирования.
OLEDB Доступ к связанной таблице к SQL / Server.Быстрое чтение данных, очень медленная вставка записей.
SQL / Server на обоих концах.Локальные таблицы связи SQL / Server с ACCDB и с удаленным сервером.Работает, но не улучшает скорость.1000 довольно маленьких записей требуют 5+ минут для вставки.
Массовая вставка.Не могу этого сделать, исходные данные - это не текстовый файл, это ACCDB.Это не разовое преобразование, это ежедневное обновление новых / измененных записей.
SSIS - кажется быстрым, поскольку я могу быстро перенести всю базу данных, но не выглядит подходящим или легким дляежедневное использование обычных операций вставки и удаления.
ЕЩЕ НЕ ПРОБОВАНО: зеркальное отображение / репликация подписчика-издателя SQL / Server для сохранения «виртуальных» локальных удаленных таблиц.
Итак, к удивлению, я обнаружил, что DAOУдаленный ACCDB (без SQL / Server) работает в 20 раз быстрее, чем SQL / Server через VPN.Но я бы предпочел использовать SQL / Server.
Что еще я пропустил или должен был попробовать?