Retroceder   Foros del Web > Programación para sitios web > ASP Clásico
Crea un nuevo usuario o inicia sesión utilizando tu cuenta de Facebook
Connect with Facebook

Respuesta
 
Herramientas Desplegado
Antiguo 09-ene-2009, 04:09   #1 (permalink)
Trutxof no tiene puntos (o el karma desactivado)
 
Fecha de Ingreso: agosto-2006
Mensajes: 156
Trutxof está desconectado
Problema campo text Sql-server

Jeje, casualidad he leido un post reciente parecido pero con access. Bueno, al grano.

Tengo en la base de datos un campo text. Introduzco los datos mediante un procedimiento almacenado, en el cual tambien utilizo una variable text. Pero me sigue dando problemas al insertar mas de 8064 caracteres (creo que es esa la cantidad).

Cargo la variable del procedimiento almacenado de la siguiente manera:

cmdModAdd.Parameters.Append cmdModAdd.CreateParameter("@Contenido", adLongVarChar, adParamInput, longitud_texto, Contenido)

donde "Const adLongVarChar = 201"

Espero haberme expicado bien y puedan enterdeme...

Gracias por todo
__________________
El mejor consejo lo da la experiencia, aunque este siempre llega tarde.
  Responder Citando
Antiguo 09-ene-2009, 04:33   #2 (permalink)
Muzztein se está ganando tu confianza
 
Avatar de Muzztein
 
Fecha de Ingreso: noviembre-2002
Ubicación: Hangar 18
Mensajes: 1.543
Muzztein está desconectado
Alegría Respuesta: Problema campo text Sql-server

Segun mi poca experiencia, eso se debe a que SQL server es solo capaz de insertar una cierta cantidad de caracteres a la vez cuando se suman todos los campos del registro.

Cuando esto ocurre, no te queda otra que hacerlo en dos tandas.
Osea; Primero haces el insert del registro con los datos que te alcancen y luego haces un update sobre este para colocar los datos restantes.

Para no tener que usar dos instrucciones distintas, te recomiendo usar un UPSERT (http://en.wikipedia.org/wiki/Upsert)

Si tienes SQL server 2005, la instruccion ya viene por defecto, si tienes SQL SERVER 2000 deberias hacer algo asi:

Código PHP:
CREATE PROCEDURE IWS_OWN.XPA_SET_CLSS_OB98_NODO
@ID_OBJETO DMN_CODIGOS
@
VERSION_OBJETO DMN_CODIGOS
@
CLASE_OBJETO DMN_CODIGOS
@
CREADOR_OBJETO DMN_CODIGOS
@
ESTADO_OBJETO DMN_CODIGOS
@
ORDEN_NODO DMN_NUMEROS,
@
NIVEL_NODO DMN_NUMEROS,
@
METODO_NODO DMN_CODIGOS,
@
NOMBRE_NODO DMN_CODIGOS,
@
AGRUPADOR_NODO DMN_CODIGOS,
@
PADRE_NODO DMN_CODIGOS
AS 
BEGIN TRANSACTION
UPDATE IWS_OWN
.OB98
SET 
OB98_CDG_VER
ISNULL(@VERSION_OBJETO,OB98_CDG_VER), 
STTS_CDG_ID ISNULL(@ESTADO_OBJETO,STTS_CDG_ID), 
OB98_NMR_01ISNULL(@ORDEN_NODO,OB98_NMR_01),
OB98_NMR_02ISNULL(@NIVEL_NODO,OB98_NMR_02),
OB98_CDG_01ISNULL(@METODO_NODO,OB98_CDG_01),
OB98_CDG_02ISNULL(@NOMBRE_NODO,OB98_CDG_02),
OB98_CDG_04ISNULL(@AGRUPADOR_NODO,OB98_CDG_04),
OB98_CDG_05ISNULL(@PADRE_NODO,OB98_CDG_05)
WHERE OB98_CDG_ID = @ID_OBJETO 
AND OB98_CDG_ID '0'

IF @@ROWCOUNT 
INSERT INTO IWS_OWN
.OB98(
OB98_CDG_ID,
OB98_CDG_VER,
CLSS_CDG_ID,
PRSN_CDG_ID,
STTS_CDG_ID,
OB98_NMR_01,
OB98_NMR_02,
OB98_CDG_01,
OB98_CDG_02,
OB98_CDG_04,
OB98_CDG_05
)VALUES(
@
ID_OBJETO,
@
VERSION_OBJETO,
@
CLASE_OBJETO,
@
CREADOR_OBJETO,
@
ESTADO_OBJETO,
@
ORDEN_NODO,
@
NIVEL_NODO,
@
METODO_NODO,
@
NOMBRE_NODO,
@
AGRUPADOR_NODO,
@
PADRE_NODO)
COMMIT

GO 


tb podrias hacer que en el mismo SP se ejecute dos veces la instruccion.

Pero lo que queda claro es que en una sola insercion no se puede hacer
  Responder Citando
Antiguo 09-ene-2009, 15:46   #3 (permalink)
Moderador
u_goldman merece que le prestes tu nueva macbooku_goldman merece que le prestes tu nueva macbooku_goldman merece que le prestes tu nueva macbooku_goldman merece que le prestes tu nueva macbooku_goldman merece que le prestes tu nueva macbooku_goldman merece que le prestes tu nueva macbooku_goldman merece que le prestes tu nueva macbook
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.651
u_goldman está desconectado
Respuesta: Problema campo text Sql-server

Además de lo que dice Muzztein, trata envíandole un tamaño enorme como parámetro:

Código:
cmdModAdd.Parameters.Append cmdModAdd.CreateParameter("@Contenido", adLongVarChar, adParamInput, 1000000, Contenido)
Saludos
__________________
Es mejor prender una vela por pequeña que sea, que maldecir las tinieblas.
-Confucio-
  Responder Citando
Antiguo 10-ene-2009, 03:51   #4 (permalink)
Trutxof no tiene puntos (o el karma desactivado)
 
Fecha de Ingreso: agosto-2006
Mensajes: 156
Trutxof está desconectado
Respuesta: Problema campo text Sql-server

Ok, gracias a ambos por sus respuestas. Aunque el asunto tendrá que esperar hasta el lunes ;)

Saludos
__________________
El mejor consejo lo da la experiencia, aunque este siempre llega tarde.
  Responder Citando
Respuesta
No hay votos aún.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 16:51.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100