FoxPro/Visual FoxPro - PATHTRUE MUY GRANDE?

 
Vista:
sin imagen de perfil

PATHTRUE MUY GRANDE?

Publicado por DALSOM (612 intervenciones) el 21/05/2007 19:58:45
HOLA A TODOS NUEVAMENTE.

A VER SI ME PUEDEN EXPLICAR QUE HE DEJADO DE HACER EN ESTO DEL PATH TRUE, PUES NO QUIERE "CORRER" .

LES CUENTO, TENGO UN PATH TRUE DE CORRESPONDE A LA CREACION DE UN JOB EN SQL PARA UNA BASE DE DATOS, Y AL CORRERLO, EL SQLEXEC ME DEVUELVE 1, PERO NO ME CREA EL JOB. EL PROBLEMA ESTA EN QUE ESA MISMA LINEA DE COMANDO QUE LE ENVIO A SQLEXEC, LA HE COPIADO EN EL CLIPTEXT, Y CUANDO LA CORRO EN EL QUERY ANALIZER DE SQL 2000, NO ME DA NINGUN ERROR, Y ME CREA EL JOB QUE EL ESPECIFICO EN EL COMANDO.

HE INTENTADO, DIVIDIRLO EN VARIAS SECCIONES (ASIGNADAS A VARIAS VARIABLES), PERO HASTA AHORA, NO HE TENIDO NINGUN RESULTADO.

ALGUNA IDEA ?

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
sin imagen de perfil

RE:PATHTRUE MUY GRANDE?

Publicado por DALSOM (612 intervenciones) el 21/05/2007 21:08:07
A VER, PUEDES GENERAR EL CODIGO TU MISMO.

CREA UNA PUBLICACION EN SQL SERVER 2000 Y PUBLICA AL MENOS UN ARTICULO (EN MI CASO UNA TABLA)

BIEN, AHORA POR MANAGEMENT, SQLSERVERAGENT, JOBS, BUSCA LOS DOS NUEVOS JOBS, QUE TERMINARAN EN EL MISMO NUMERO.

UNO ES DE TIPO SNAPSHOT AGENT Y EL OTRO DEL TIPO LOGREADER. VERAS QUE TIENEN NOMBRES SIMILARES.

HACES CLICK DERECHO SOBRE UNO DE ELLOS, Y SELECCIONAS : ALL TASKS, Y LUEGO SCRIPT JOB (ESCOGI EL DEL LOG READER). ESTO TE DARA EL CODIGO QUE QUIERO PASAR POR EL PATHTRUE.

CLARO, CON ALGUNAS MODIFICACIONES EN LOS NOMBRES QUE VARIARAN DE UNA BASE DE DATOS A OTRA, Y DE UN SERVIDOR A OTRO. BASICAMENTE, ES LO MISMO LO QUE LE LLEGA A SQL.

VERAS ESTA ES UNA PARTE DE LO QUE ESTOY TRATANDO DE PASAR :

BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'REPL-Snapshot') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'REPL-Snapshot'
-- Delete the job with the same name (if it exists)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'DSRLLO-DB1-PubDB1SnapShotAgentJob')
IF (@JobID IS NOT NULL)
BEGIN
-- Check if the job is a multi-server job
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN

-- There is, so abort the script

RAISERROR (N'Unable to import job "DSRLLO-DB1-PubDB1SnapShotAgentJob'' since there is already a multi-server job with this name.', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- Delete the [local] job

EXECUTE msdb.dbo.sp_delete_job @job_name = N'DSRLLO-DB1-PubDB1SnapShotAgentJob'
SELECT @JobID = NULL
END

BEGIN
-- Add the job
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'DSRLLO-DB1-PubDB1SnapShotAgentJob',
@owner_login_name = N'sa', @description = N'No description available.',
@category_name = N'REPL-Snapshot', @enabled = 1, @notify_level_email = 0,
@notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 0, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
-- Add the job steps
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1,

...
...
...
...
-- Add the Target Servers
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
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
sin imagen de perfil

RE:PATHTRUE MUY GRANDE?

Publicado por Hector R. De los Santos (270 intervenciones) el 21/05/2007 22:14:47
Bien..pero queria ver como pasas las consultas desde vfp al sql server.
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
sin imagen de perfil

RE:PATHTRUE MUY GRANDE?

Publicado por DALSOM (612 intervenciones) el 22/05/2007 17:33:15
OKIDOKI.

CREO QUE ENCONTRE UNA SOLUCION, AUNQUE DE LA FORMA INICIAL, AUN NO ME FUNCIONA.

INICIALMENTE HACIA UNA CONEXION CON SQLCONNECT, Y LUEGO LE AGREGABA LA CADENA DEL QUERY A UNA VARIABLE , Y LUEGO, HAGO UN

SQLEXEC(connection, sqlcommand)

LA NUEVA FORMA, ES

CREAR LA CONEXION,
SQLPREPARE(connection, sqlcommand1)
SQLPREPARE(connection, sqlcommand2)
SQLEXEC(connection)

NO SE POR QUE, PERO FUNCIONO.

GRACIAS Hector R.
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
sin imagen de perfil

RE:PATHTRUE MUY GRANDE?

Publicado por Hector R. De los Santos (270 intervenciones) el 22/05/2007 19:48:42
Nice..dividiste el codigo de las consultas en dos partes...de seguro ese era el error.
Bytes!
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