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

Metodo Open ¿cuantos caracteres?

Estas en el tema de Metodo Open ¿cuantos caracteres? en el foro de ASP Clásico en Foros del Web. Estoy realizando una conexion en SQLServer : oRs.Open sqCadena, Conn1 El problema lo tengo cuando en la variable sqCadena meto bastantes caracteres aproximadamente 500, dandome ...
  #1 (permalink)  
Antiguo 09/03/2005, 03:43
 
Fecha de Ingreso: febrero-2004
Mensajes: 27
Antigüedad: 21 años, 3 meses
Puntos: 0
Metodo Open ¿cuantos caracteres?

Estoy realizando una conexion en SQLServer :
oRs.Open sqCadena, Conn1
El problema lo tengo cuando en la variable sqCadena meto bastantes caracteres aproximadamente 500, dandome un error de "el controlador ODBC no admite las propiedades solicitadas". Dentro de sqCadena tengo: "Select * from tablas where ID in (23,24,25,26,27,18,33,54,65,444,12,65,98,4567)". (bueno logicamente no voy a poner hasta los 500 caracteres....)
si dentro del in (..) no envio tantos caracteres el codigo de oRs.Open funciona sin problemas.
¿Alguien sabe si existe alguna limitacion en el tamaño que puede entender el metodo Open ?
Gracias.
  #2 (permalink)  
Antiguo 09/03/2005, 14:10
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
No, no se si exista limitación, pero no te funcionaría mejor una subconsulta (por que supongo que esas 500 claves, no las teclea el usuario):

Select * from tablas where ID in (select ID from Tabla2 Where ...algo...)
  #3 (permalink)  
Antiguo 09/03/2005, 14:45
 
Fecha de Ingreso: febrero-2004
Mensajes: 27
Antigüedad: 21 años, 3 meses
Puntos: 0
Lamentablemente no puedo (o no se ) utilizar una subconsulta pues las 500 claves son de una tabla de una base de datos (TansTool) diferente a la de SQL Server, con lo cual envio las claves en una variable string ya calculada.
De todas formas haciendo mil comprobaciones he detectado que el error no viene por el numero de caracteres, sino por el numero de claves que envio en cada sentencia in (clave,clave,clave....). Curiosamente me admite hasta 67 claves (el ID de la consulta esta declarado con int ), con lo cual debo de hacer X sentencias in (clave,clave,,,) para que funcione.
Creo que es una chapuza pero no veo otra solucion.
Gracias
  #4 (permalink)  
Antiguo 09/03/2005, 14:52
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
Vaya, pues tienes razón. Ya que para usar la subconsulta, tendrías que pasar la tabla de la otra BD's a una temporal en la BD's donde haces el select.

Igual puedes seguir con tu método, Chapuza, pero se vale.
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 13:43.