Sibir webs asp

Me parece que controlas del tema. Te cuento mi caso.
He creado una web fácil de búsqueda (con formulario) y otra de resultado. Con una base de datos muy sencilla *.mdb
Bien, con el PWS funciona perfectamente, pero al subir los ficheros (incluido uno de conexión que me ha creado el Ultradev) y ejecutar alguna de las webs me dice que no las encuentra. Todas tienen expensión asp.
Las cuelgo de www.brinkster.com que damite bases de datos y asp.
Gracias.
Elena.

1 respuesta

Respuesta
1
El error HTTP 500 es porque no encuentra la base de datos, y por eso, directamente, ni te carga la página, ya que una página ASP lo primero que busca es la base de datos.
Si tienes un poco de paciencia conseguiremos solucionarlo.
Todavía no se como has hecho la conexión a tu base de datos desde Dreamweaver. Cuando indicas nueva conexión, selecciona "cadena de conexión personalizada". Se te abre un panel donde debes escribir el nombre de la conexión, y donde pone "cadena de conexión" escribe lo siguiente:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\XVRT\dominio.com\carpeta1\carpeta2\y_asi_todas_las_carpetas\base.mdb"
Luego selecciona "utilizando un controlador en el servidor de prueba".
En la ruta a la base de datos, debes indicarle todo el camino desde la raíz de tu sitio hasta la base de datos.
Dale a probar, Y TE DEBERÍA CONECTAR SIN PROBLEMAS.
Ojo!, esto es para conectar sin DSN. Intentalo y ya me cuentas, a ver que hemos avanzado. Hasta pronto!
El error es HTTP 500. Olvidemos PWS y subamos las páginas al servidor (brinkster). Ocurre que cuando desde la web de búsqueda accede a la web de resultados no me la encuentra.
Lo mejor es usar un ejemplo. EN este caso un acceso restringido. Hay uno explicado en http://www.soloasp.com.ar/vereje.asp?eje=5
Bien. Creo la página 1.asp y pagina2.asp y las subo, al igual que basedatos.mdb. Lo subo todo al mismo directorio. Ejecuto pagina1.asp y no me encuentra nada, dando el error indicado.
Dudas:
El servidor tiene un directortio llamado DB donde en el ejemplo que expone se aloja la base de datos. En el mismo ejemplo indica esta conexión:
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open ("DRIVER={MICROSOTF access driver(*.mdb)}; Dbq="& Server.MapPath("\xxxxx\db\xxxxx.mdb"))
A ver si con estos datos puedes hacer algo. Gracias.
Me has dados muy pocos datos para solucionar el problema... vamos a ver, ¿qué clase de error te da? De todas maneras asegurate de los siguiente: Si tu diseñas todo en el PWS, la conexión a tu base de datos está configurada para buscar la base de datos en la carpeta Inetpub, y claro, al subirla al servidor, no encuentra la carpeta y te da error, así que lo primero que debes hacer es cambiar la conexión. No se si lo habrás hecho eso ya, y aun así te de el error, pero si no lo has hecho, ese es el problema. Debes ir a conexiones, y en la conexión indicarle la nueva cadena de conexión (DSN) para que pille la base de datos que tengas en el servidor. Escríbeme de nuevo si no sabes conectar tu base de datos mediante una DSN o si, simplemente, no sabes conectarla. Suerte!
Yo tengo paciencia, lo que temo es acabar con la tuya. Recuerda que mi propósito es que funcione en el servidor remoto, donde hay un directorio para alojar la base de datos.
La conexión que tengo establecida es local, o sea, para utilizar el PWS. El sitio lo tengo definido así:
Local Info:
C:\Inetpub\wwwroot\prueba_asp\
Remote Info:
Local/Network
C:\Inetpub\wwwroot\prueba_asp\
Application Server:
ASP:2.0
VBScript
.asp
Local/Network
C:\Inetpub\wwwroot\prueba_asp\
http://localhost/prueba_asp/
En el directorio prueba_asp tengo colgado la web de búsqueda y la de resultado.
Siguiendo tus instrucciones, pulso test (o prueba) y me dice que la conexión es exitosa. Me ha creado un fichero asp con la conexión nueva.
Con esta conexión he probado a crear una web de búsqueda y otra de resultado, (aunque mi fin último es crear un acceso restringido). En plan sencillo. Te resumo lo que construido:
Web de búsqueda. Añado campo de menú y botón de aceptar. He creado un registro y he enlazado los valores con un campo de este para que aparezcan en el menú. Método get y acción la web de resultado.
Web de resultado. Creo un registro con las coincidencias de uno de los campos (el elegido para la búsqueda).
Con la conexión DSN que tenía me funcionaba. ¿?
¿Ejecuto la web de búsqueda y?
?
ADODB.Field error '800a0bcd'
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/prueba_asp/resultado_libros.asp, line 26
Con la conexión DSN que tenía me funcionaba. ¿?
¿Hemos avanzado algo?.
Tranquilo, que yo tengo paciencia, pero deberemos ir poco a poco. ¿Sabes si tu servidor puede configurar DSN? Si me comentas que tienes una carpeta llamada Data en tu servidor, seguro que si. Averigualo y me comentas.
Por otro lado, si me dices que con lo que te di te dice que la conexión es exitosa, significa que algo hemos avanzado. El error ADODB se produce cuando la sentencia SQL contiene errores, pero la conexión es correcta. Debes hacer lo siguiente:
En la primera página, la de búsqueda, debes tener en cuenta que el campo de texto, el menu/list o lo que quieras poner debe llamarse igual que el campo que vas a filtrar en tu base de datos en la página de resultados, ¿entiendes? Por lo que veo tu web es de libros. Si en tu BBDD (base de datos) tienes un campo que se llame "titulo" y quieres hacer una búsqueda por el nombre del titulo, en la 1 página harías un formulario en GET con un campo de texto que se llamase titulo, y en la 2 página, en el recordset le dirías en filtrado que titulo = titulo. Eso es lo que debes hacer. Si es con un menu/list y quieres filtrar, por ejemplo por las categorías de libros y en tu BBDD tienes un campo que se llama categorías, el menu/list de la primera página se llamaría categorías y en el filtrado de la 2ª seria categorías = categorías. Esto es para que en la ruta, al pasar el formulario en GET, ¿sea 2.asp? categorias=la opcion elegida.
Pruébalo y me comentas
Bueno, ahora queda probarlo en el servidor remoto. ¿Cambia la conexión? Ultradev me ha creado un fichero de conexión. ´¿Lo debo de subir? ¿Dónde lo ubico?
(He estado ahora probando con una conexión como la que me dijiste lo de accesos restringidos. Pensaba que iba a ser fácil, pero no me encuentra ninguna web tras meter usuario y contraseña.)
He empezado de nuevo y ahora me funciona, aunque si pulso Live Data en la web de resultados me vuelve a dar el mensaje donde dice que la información solicitada requiere un registro actual. (Error de campo:800aObcd)
Espero instrucciones.
1.- He investigado sobre la DSN. No se puede configurar, pero te dice esto:
How to connect to a database via a DSN-Less connection
Here is what the code looks like:
Dim oConn, sConnString
Set oConn = Server.CreateObject("ADODB.Connection")
sConnString = "DRIVER={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & Server.MapPath("\MemberName\db\dbname.mdb") & ";"
oConn.Open(sConnString)
At this point you can define a SQL statement and execute it:
sql = "select * from myTable"
Set RS = Conn.Execute(sql)
2.- Referente al error, me sigue dando el mismo al visualizarlo en Ultradev (F12). He comprobado lo que me dijiste.
La base tiene una tabla (libros) y tres campos (ID, titulo y autor). Sólo pretendo que se muestre el autor tras elegir el titulo en el menu desplegable. El menu desplegable te muestra bien los títulos.
:(
Milagro!. Creo que he conectado con la BD desde el servidor, pero a lo bestia. Te explico. El servidor no permite configurar DSN, por lo tanto he creado la conexión sin DSN, aunque para ello he tenido que aprender aceleradamente algo de ASP. Te muestro el código:
<p>esto es una prueba barata</p>
<p> </p>
<%
Dim oConn, RS
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.Mappath("\nenucothoven\db\biblioteca.mdb")
Set RS=Server.CreateObject("ADODB.RecordSet")
RS.Open "libros",oConn,1
Response.Write RS("titulo")
RS.Close
oConn.Close
Set RS= Nothing
Set oConn = Nothing
%>
------
Al ejecutar la web me muestra el texto y el titulo del primer registro.
Es un gran paso. Mi pregunta ahora es ¿cómo hago eso con el DW?
(Lo del fichero de conexión no sabía que había que subirlo al servidor)
Vamos a ver, que me he perdido un poco.
Para configurar una DSN debes hacerlo desde el panel de control de tu servidor web, no desde DW. Tendrás que hablar con ellos.
Cuando haces una nueva conexión, DW te crea la carpeta connections. No tienes que colocarla en ningún sitio en especial, debes subirla al archivo raíz de tu sitio. O sea, que la seleccionas y le das al la flechita azul para que la suba, y nada más.
Vale, haz lo siguiente. Guarda esta página, quitándole lo de
<p>esto es una prueba barata</p>
<p> </p>En la carpeta connections, y la llamas conexion.asp. Subes la carpeta connections al servidor. Y en la pagina que muestra los resultados de la busqueda, añade el siguiente codigo
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/conexion.asp" -->
Ahora se debería conectar y mostrarte los resultados. Pero... ¿no me dijiste que ya lo habías conseguido conectar con el código que te pase hace unas cuantas respuestas?
por cierto... ¿tienes messenger? Tal vez lo acabaríamos antes...
Ya se lo que pasaba. No subía el fichero de conexión (conexión.asp). ´Vaya tomteria.
Gracias por tu paciencia y sapiencia.
Besos.
Elena.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas