Error al ejecutar un job

tema enviado por Yonakan en SQL
tema iniciado el 28/01/2009

TEngo el siguiente sp que toma datos de una tabla .dbf y los pasa a una tabla de sql.

CREATE procedure CargaVentas
as-- Declare the variables to store the values returned by FETCH.
DECLARE @NPRODUTO varchar(40)
DECLARE @TERMINAL varchar(5)
DECLARE @CUPOM varchar(6)
DECLARE @PRODUTO varchar(13), @SELECAO varchar(15)
DECLARE @CUSTO real, @VENDA real, @QDE real, @VALOR real, @TOTAL real
DECLARE @UDATA datetime, @HORA datetime
DECLARE @DATACAD varchar(6), @UNIDADE varchar(6), @GRUPO varchar(6)
DECLARE @TRIBUTO smallint, @CFISCAL smallint, @STKC smallint
declare @HORACONSULTA datetime
set @STKC = 4
set @HORACONSULTA = getdate()
DECLARE contact_cursor CURSOR FOR
SELECT CUPOM, TERMINAL, UDATA, HORA, PRODUTO, NPRODUTO, DATACAD, UNIDADE, TRIBUTO, CFISCAL, GRUPO, CUSTO, VENDA, QDE, VALOR, TOTAL, SELECAO
FROM OpenDataSource('VFPOLEDB','Data Source=F:\CENTRAL\;Mode=Read;User ID=;Password=;DSN=')...VENDAS

OPEN contact_cursor
-- Perform the first fetch and store the values in variables.
-- Note: The variables are in the same order as the columns in the SELECT statement.

FETCH NEXT FROM contact_cursor
INTO @CUPOM, @TERMINAL, @UDATA, @HORA, @PRODUTO, @NPRODUTO, @DATACAD, @UNIDADE, @TRIBUTO, @CFISCAL, @GRUPO, @CUSTO, @VENDA, @QDE, @VALOR, @TOTAL, @SELECAO

-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN

   -- Concatenate and display the current values in the variables.
     Begin
  --print @CUPOM + '  ' + @TERMINAL + '  ' + convert(varchar,@UDATA,103) + '  ' + convert(varchar,@HORA,108) + '  ' + @PRODUTO + '  ' + @NPRODUTO + '  ' + @SELECAO + '  ' + convert(char(8),@CUSTO) + '  ' + convert(char(8),@VENDA) + '  ' + convert(char(8),@QDE) + '  ' + convert(char(8),@VALOR) + '  ' + convert(varchar,@TOTAL)
  Exec CARGA_stock @PRODUTO, @QDE, @STKC
  begin transaction
  if @@Error = 0
    Begin
      Commit Transaction
    End
  else
    Begin
     Rollback Transaction
    End
     End
   -- This is executed as long as the previous fetch succeeds.
   FETCH NEXT FROM contact_cursor
   INTO @CUPOM, @TERMINAL, @UDATA, @HORA, @PRODUTO, @NPRODUTO, @DATACAD, @UNIDADE, @TRIBUTO, @CFISCAL, @GRUPO, @CUSTO, @VENDA, @QDE, @VALOR, @TOTAL, @SELECAO
END

CLOSE contact_cursor
DEALLOCATE contact_cursor
--print convert(varchar,@HORACONSULTA,103) + '   ' + convert(varchar,@HORACONSULTA,108)
GO

El sp funciona bien si lo ejecuto manualmente, o desde el analizador de consultas. Pero cuando creo un job en SQLServer Agent me sale el siguiente error.

Ejecutado como usuario: NT AUTHORITY\SYSTEM. No se puede inicializar el objeto origen de datos del proveedor OLE DB 'VFPOLEDB'. [SQLSTATE 42000] (Error 7303)   [SQLSTATE 01000] (Error 7312)  Traza de error de OLE DB [OLE/DB Provider 'VFPOLEDB' IDBInitialize::Initialize returned 0x80040e21]. [SQLSTATE 01000] (Error 7300).  Error en el paso.

No se como solucionarlo. Por favor ayudenme. Gracias