I have a linked server in SQL Server 2008 that's using the MDASQL provider to access a Visual Fox Pro ODBC DSN.
I'm receiving the below errors when attempting to perform simple queries:
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".
I'm trying to run this update query that is the goal of the activity:
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'
I have also attempted some simpler queries and still receive the same errors:
select top 1 * from odbclinkedserver...odbctable
The DSN source is a Free Table directory. The sizes of the files involved are:
- odbctable.dbf = 62MB
- odbctable.cdx = 9.85MB
- odbctable.fpt = 200MB
I have configured the SQL instance to start with the '-g' parameter with a value of 1024 so that a gig of memory is set aside for this operation (this is a test server with no other activities).
Reference used: http://msdn.microsoft.com/en-us/library/ms190737.aspx
Given the size of the files involved, the simplicity of the queries, and that I've set aside a gig of RAM for it to use, I am running out of ideas of how to resolve this problem.
Can anyone suggest a solution to resolve these errors so that I can update the target dbf with the update query above?