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

Error buscando tabla en BBDD

Estas en el tema de Error buscando tabla en BBDD en el foro de ASP Clásico en Foros del Web. Intento acceder a la base de datos en Sql server pero me da un error que no se solucionar, hay va mi código: Código: <% ...
  #1 (permalink)  
Antiguo 10/08/2006, 04:20
yz!
Invitado
 
Mensajes: n/a
Puntos:
Error buscando tabla en SQL Server

Intento acceder a la base de datos en Sql server pero me da un error que no se solucionar, hay va mi código:

Código:
<%    dim idioma
    if request.querystring("lang")="" then    idioma="es"
    'response.write idioma
    
    dim menu
    menu="menu_"&idioma
    'response.write menu

    dim rs_categorias
    set rs_categorias = CreateObject("ADODB.Recordset")
    rs_categorias.locktype = 3
    rs_categorias.cursorlocation = 3
    rs_categorias.open "SELECT * FROM "&menu&" ORDER BY Id_Categoria", application("cn")    %>
Mi global.asa:
Código:
Sub Application_OnStart()
    Application.Lock
 
    Application("DB")="Tea" 
    Application("Usuario")="UsuarioInet"
    Application("Password")="usrinet00"
    Application("SRV")="localhost"
    Application("cn")="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & _
            Application("Usuario") & ";Password=" & Application("Password") & ";Initial Catalog=" & Application("DB") & ";Data Source=" & Application("SRV")
    
    Application.UnLock
End Sub
Y el error que me salta:
ADODB.Recordset error '800a0cc1'
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido. (El select)
/index.asp, línea 34


¿Sabén porque me pasa esto? Estuve investigando y lei que el problema podía estar enque al tabla no existies en la BBDD, pero lo he comprobado y la tabla existe.


Una ayudita, por favor.


Saludos y garcias por sus aportaciones

Última edición por yz!; 11/08/2006 a las 07:21 Razón: Título más descriptivo
  #2 (permalink)  
Antiguo 10/08/2006, 07:32
Avatar de Jonatatan  
Fecha de Ingreso: octubre-2004
Ubicación: Italia, Gubbio (PG)
Mensajes: 147
Antigüedad: 19 años, 7 meses
Puntos: 0
No estoy seguro pero creo deberias agregar los apostrofes '"&menu&"''.

En todo caso si la tabla se llama: "menu_es" deberia funcionar a menos que la variable traiga algun valor y el nombre de la tabla cambiaria y en este caso debrias verificar si existe esa tabla "menu_"xxxxx y para estar seguro que la variable no trae algun otro valor te recomiendo de usar len es mucho mas efectivo.

Podrias tambien crear condiciones con el idioma para crear el query con el nombre de la tabla sin insertar las variables asp, ej:
if (idioma="es") then
rs_categorias.open "SELECT * FROM menu_es ORDER BY Id_Categoria", application("cn")
else if (idioma="xx") then........

Segundo me parece complicada la manera en que elaboraste el DB creando una tabla distinta para el Menu por cada idioma existente. Pienso seria mucho mas sencillo si creas una tabla idioma y otra tabla menu las cuales relacionas y harias asi una seleccion mucho mas simple solo con dos tablas.

Espero ser de ayuda para algo.

Saluti
__________________

Solo mi fido del tempo, le parole ed i fatti per prendere le decisioni più importanti della mia vita. // Solo confio en el tiempo, las palabras y los hechos para tomar las decisiones mas importantes de mi vida.
Jonatan Lavado
  #3 (permalink)  
Antiguo 10/08/2006, 16:57
yz!
Invitado
 
Mensajes: n/a
Puntos:
Ok. Lo intentaré.

Mientras tanto.. ¿podías explicarme un poco mejor lo de la tabla idomas y la tabla menu?
  #4 (permalink)  
Antiguo 11/08/2006, 07:19
yz!
Invitado
 
Mensajes: n/a
Puntos:
Poniéndole apóstrofes me salta este error:
Línea 1: sintaxis incorrecta cerca de 'menu_es'.

Me decanto más por las segunda opción, pero en este caso me sigue saltando el mismo error (el primero). Empiezo a pensar que configure algo mal en el SQL Server.

Una manita, por favor. (O un moderador que mueva el post)


Saludos


Última edición por yz!; 11/08/2006 a las 07:22 Razón: Errores ortográficos
  #5 (permalink)  
Antiguo 11/08/2006, 11:18
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Los apóstrofes no van. Volvé atrás. Vas a tener nuevamente el error original: No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.

Ok, ahora revisá que en el resto de tu código no estés haciendo referencia a un campo inexistente en la tabla menu_es... algo así como:

rs_categorias("un_campo_que_no_existe_en_la_tabla_menu_es")
__________________
...___...
  #6 (permalink)  
Antiguo 11/08/2006, 15:41
yz!
Invitado
 
Mensajes: n/a
Puntos:
Ni siqueira llego a hacer la llamada a ningun campo de la base de datos. Pare el desarrollo en el momento que el select me devolvía error.

¿No estará el problema en mi configuración de SQL Server?

Cree un usuario con ese nombre y esa contraseña con permisos de owner, public, datareader y datawriter. Pero nose... quiza me falte algo
  #7 (permalink)  
Antiguo 11/08/2006, 15:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Ops... eso está raro. Es error lo da cuando hacés referencia a un campo inexistente... al menos, nunca me topé con el en ninguna otra situación.
Dejameinvestigar
__________________
...___...
  #8 (permalink)  
Antiguo 11/08/2006, 15:56
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
A ver... leete esto y fijate si estás cometiendo alguna de las posibles causas:
http://www.aspfaq.com/show.asp?id=2275
__________________
...___...
  #9 (permalink)  
Antiguo 11/08/2006, 16:12
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Otra cosa puede ser que el usuario de tu base de datos no tenga permisos, de esta manera no encontrará nunca ninguna tabla.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 14/08/2006, 04:12
yz!
Invitado
 
Mensajes: n/a
Puntos:
Vale, ya esta solucionado.

El problema era el que decíais. Estaba llamdo al campo Categorias, cuando en la tabla el campo se llama Categoria. No se como no lo ví.

Jonatatan me gusatría que explicases lo que decías sobre crear dos tablas idiomas y menu y relacionarlas, no se mucho sobre modelado de bases de datos, y no se muy bien como hacerlo. ¿Podías desarrollar un poco más la idea?.

Gracias a todos por su ayuda.
  #11 (permalink)  
Antiguo 14/08/2006, 08:38
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Iniciado por yz!
Vale, ya esta solucionado.

El problema era el que decíais. Estaba llamdo al campo Categorias, cuando en la tabla el campo se llama Categoria. No se como no lo ví.

Cita:
Iniciado por yz!
Ni siqueira llego a hacer la llamada a ningun campo de la base de datos.


Me mentiste
__________________
...___...
  #12 (permalink)  
Antiguo 15/08/2006, 03:09
yz!
Invitado
 
Mensajes: n/a
Puntos:
Lo siento. Pensaba que tenía esas líneas comentadas.

Gracias por la ayuda
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 21:40.