SQL Server - Error al ejecutar un job sql

   
Vista:

Error al ejecutar un job sql

Publicado por Yonakan (1 intervención) el 28/01/2009 18:59:50
TEngo el siguiente sp que toma datos de una tabla .dbf (VENDAS) ubicada desde una ruta mapeada F:/CENTRAL/ 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 AUTHORITYSYSTEM. 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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al ejecutar un job sql

Publicado por Isaias (3308 intervenciones) el 29/01/2009 00:35:06
En cuestion de Drives Mapeados, debes arrancar tu servicio de SQL Server y el de Agent, con un usuario que pertenezca al grupo de ADMINISTRADORES DE WINDOWS (DOMINIO) .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar