У меня есть связанный сервер в SQL Server 2008, который использует поставщик MDASQL для доступа к ODBC DSN Visual Fox Pro.
При попытке выполнить простые запросы я получаю следующие ошибки:
OLE DB provider "MSDASQL" for linked server "odbclinkedserver" returned message "[Microsoft][ODBC Visual FoxPro Driver]Not enough memory for file map.".
Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "odbclinkedserver" reported an error. The provider ran out of memory.
Msg 7306, Level 16, State 2, Line 1 Cannot open the table "odbctable" from OLE DB provider "MSDASQL" for linked server "odbclinkedserver".
Я пытаюсь запустить этот запрос на обновление, который является целью действия:
update odbclinkedserver...odbctable
set memofield = m1.blob
from sqlsvrtable m1
where m1.int_1 = odbctable.int_1
and m1.int_2 = odbctable.int_2
and m1.time= odbctable.time
and odbctable.date= '2011-06-28'
Я также попытался выполнить несколько более простых запросов и все еще получаю те же ошибки:
select top 1 * from odbclinkedserver...odbctable
Источник DSN - это каталог свободных таблиц.Размеры используемых файлов:
- odbctable.dbf = 62 МБ
- odbctable.cdx = 9,85 МБ
- odbctable.fpt = 200 МБ
Я настроил экземпляр SQL на запуск с параметром -g со значением 1024, чтобы выделить для этой операции гигабайт памяти (это тестовый сервер без других действий).
Используемая ссылка: http://msdn.microsoft.com/en-us/library/ms190737.aspx
Учитывая размер используемых файлов, простоту запросов и то, что я выделил гигабайт оперативной памяти для его использования, у меня заканчиваетсяидей, как решить эту проблему.
Кто-нибудь может предложить решение для устранения этих ошибок, чтобы я мог обновить целевой dbf с помощью запроса на обновление выше?