Foros del Web » Programando para Internet » ASP Clásico »

Error al insertar desde asp un store procedure

Estas en el tema de Error al insertar desde asp un store procedure en el foro de ASP Clásico en Foros del Web. a ver si alguien me puede ayudar en donde esta el error ejecuto un store via asp donde lo llamo de la siguiente manera Set ...
  #1 (permalink)  
Antiguo 16/11/2004, 14:04
Avatar de jUaN_  
Fecha de Ingreso: septiembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 220
Antigüedad: 22 años, 8 meses
Puntos: 0
Error al insertar desde asp un store procedure

a ver si alguien me puede ayudar en donde esta el error

ejecuto un store via asp donde lo llamo de la siguiente manera

Set strConection = Server.CreateObject("ADODB.Connection")
strConection = "DRIVER={SQL Server}; SERVER=sdbuetycau01; DATABASE=Arsystem; UID=webuser; PWD=1234567"
set cmdInsertOpinion = Server.CreateObject("ADODB.Command")
cmdInsertOpinion.ActiveConnection = strConection
cmdInsertOpinion.CommandText = "SP_NewRemedyTicket"
cmdInsertOpinion.CommandType = 4
cmdInsertOpinion.CommandTimeout = 0
cmdInsertOpinion.Prepared = true
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Fecha_Hora_Llam ada", 135, 1, 20,Now())
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@grupo", 200, 1, 15,"CAU LLAMADAS")
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@abierta_por", 200, 1, 10, "YP00448")
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@usuario", 200, 1,10,request.form("id"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@descripcion", 200, 1,255,request.form("descripcion"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Tipo_servicio", 200, 1,15,request.form("tipo_servicio"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@servicio", 200, 1,15,request.form("servicio"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Estado", 2, 1, 1, "0")
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Asignada_a", 200, 1,15,request.form("resolucion"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@ip", 200, 1,12,request.ServerVariables("remote_addr"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@nro", 200, 2,20)
cmdInsertOpinion.Execute()
id = cmdInsertOpinion.Parameters.Item("@nro").Value


y el store procedure al que llama es

CREATE PROCEDURE SP_NewRemedyTicket
@Fecha_Hora_Llamada datetime,
@grupo varchar(15),
@abierta_por varchar(10),
@usuario varchar(10),
@descripcion varchar(255),
@Tipo_servicio varchar(15),
@Servicio varchar(15),
@Estado int,
@Asignada_a VARCHAR(15),
@ip varchar(12),
@nro varchar(20) OUTPUT

AS

declare @requestid VARCHAR(15)
declare @dummyvar varchar(16)
declare @dummyvar1 varchar(20)
declare @FLAG VARCHAR(1)
declare @len int
declare @leny varchar(20)
declare @next_id_arschema varchar(20)
declare @nextId varchar(15)
declare @RemedyUser varchar(10)
declare @fecharemedy int

---Variables para datos del usuario

declare @telefono varchar(15)
declare @Nombre varchar(15)
declare @Apellido1 varchar(15)
declare @Apellido2 varchar(10)
declare @Prioridad varchar(8)
declare @Centro varchar(30)
declare @Empresa varchar(30)
declare @departamento varchar(30)
declare @Planta varchar(6)
declare @CeCo_DSI varchar(10)
declare @Email varchar(30)



set @telefono=(SELECT Telefono From casuarios where usuario=@usuario)
set @nombre=(SELECT nombre From casuarios where usuario=@usuario)
set @Apellido1=(SELECT Apellido_1 From casuarios where usuario=@usuario)
set @Apellido2=(SELECT Apellido_2 From casuarios where usuario=@usuario)
set @Prioridad=(SELECT Prioridad From casuarios where usuario=@usuario)
set @Centro=(SELECT Centro_de_Trabajo From casuarios where usuario=@usuario)
set @Empresa=(SELECT empresa From casuarios where usuario=@usuario)
set @planta=(SELECT planta From casuarios where usuario=@usuario)
set @CeCo_DSI=(SELECT CeCo_Cargos_DSI From casuarios where usuario=@usuario)
set @Email=(SELECT e_mail From casuarios where usuario=@usuario)
set @abierta_por='YP00448' --(Analia Bauman)


BEGIN

set @fecharemedy = (datediff(s,'01-01-1970',@Fecha_Hora_Llamada))+ 10800
set @RemedyUser= 'Demo'
set @dummyvar='CAU0'
set @next_id_arschema=(select nextId from arschema where schemaid =744) --(Desarrollo) --38 (Prod.)

Update arschema SET nextId=@next_id_arschema+1 where schemaId=744 --(Desarrollo) --38 (Prod.)

-- set @len=LEN(@next_id_arschema)
-- set @leny=substring(@dummyvar,@len,3)
-- set @dummyvar1=@leny + @next_id_arschema
-- set @dummyvar1='CAU0' + @next_id_arschema

set @len=LEN(@next_id_arschema)
if @len<=6
set @dummyvar1=(select 'CAU0'+ @next_id_arschema)
else
set @dummyvar1=(select 'CAU'+ @next_id_arschema)


INSERT INTO t744 (C536870932,C4,C536870923,C536870930,C536870977,C5 36870918,C536870917,C536870919,C8,C536870976,C5368 70912,C536870926,C536870938,C7,C6,C3,c1,c5,c2,C536 870915,C536870983,C536870931,C536870939,C536870922 ,c536870941,c536870973,c536871044)
VALUES (@apellido1,@Asignada_a,@Centro,@descripcion,'1',@ fecharemedy,@Nombre,@Prioridad,@Servicio,@abierta_ por,@telefono,@Tipo_servicio,@usuario,'1',@fechare medy,@fecharemedy,@dummyvar1,'CAU LLAMADAS','CAU LLAMADAS',@planta,@CeCo_DSI,@Email,@apellido2,@emp resa,'1',4,@IP)

-- VALUES (@apellido1,@Asignada_a,@Centro,@descripcion,'1',@ Fecha_Hora_Llamada,@Nombre,@Prioridad,@Servicio,'y p04275',@telefono,@Tipo_servicio,@usuario,'1',@Fec ha_Hora_Llamada,@Fecha_Hora_Llamada,@dummyvar1,'CA U LLAMADAS','CAU LLAMADAS',@planta,@CeCo_DSI,@Email,@apellido2,@emp resa,'1','YP01151',@Tipo_servicio,@Servicio,@Fecha _Hora_Llamada,4)


INSERT INTO H744 (entryId,T0,U0)
values (@dummyvar1,@fecharemedy,@RemedyUser)

--SET @NRO=@dummyvar1

RETURN @dummyvar1

END
GO



pero me tira el siquiente error que es

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'CAU0207' to a column of data type int.
/cau/prueba/ingresoremedy.asp, line 52


Alguien me puede ayudar porque no encuentro donde esta el problema, de primera se que la llamada del asp no es
__________________
<% Viru %>
  #2 (permalink)  
Antiguo 16/11/2004, 14:41
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
El error es claro, tienes un campo numérico al que le estas enviando como valor un alfanumérico. Deberías de rastrear el parámetro que tiene ese valor y verificar el tipo del campo (o el campo mismo) al que se lo envias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:26.