ASP error!

Publicado por Javi, Noviembre 23, 2006, 20:46:39

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Javi

A un amigo le pasa esto:

Base de datos Access en ASP, Falla al tratar de insertar un registro nuevo. Utilizo recorset (obviamente no es DSN)

Si necesitan algun dato avisen.




Error:

  No se puede mostrar la página

Hay un problema con la página que está intentando ver y no se puede
mostrar.
------------------------------------------------------------------------

Please try the following:

    * Haga clic en el botón Actualizar <javascript:location.reload()> o
      inténtelo de nuevo más tarde.
    * Abra la página principal de y, a continuación, busque vínculos a
      la información que desea.


    HTTP 500.100. Error interno del servidor: error de ASP
    Servicios de Internet Information Server

------------------------------------------------------------------------

Información técnica (para personal de soporte técnico)

    * Tipo de error:
      Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
      [Microsoft][Controlador ODBC Microsoft Access] No se puede
      actualizar. Base de datos u objeto de sólo lectura.
      */administrar_productos.asp, línea 30*

    * Tipo de explorador:
      Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1)
      Gecko/20061010 Firefox/2.0 megauploadtoolbar

    * Página:
      POST 141 bytes to /administrar_productos.asp

    * Datos de POST:
      NombreProducto=l&PrecioProducto=&ImagenProducto=&CategoriaProducto=&DescBrevProducto=&DescripcionProducto=&EstadoProducto=0&agregarProducto=1

    * Hora:
      jueves, 23 de noviembre de 2006, 20:38:26

    * Más información:
      Soporte técnico de Microsoft
      <http://www.microsoft.com/ContentRedirect.asp?prd=iis&sbp=&pver=5.0&ID=500;100&cat=Microsoft+OLE+DB+Provider+for+ODBC+Drivers&os=&over=&hrd=&Opt1=&Opt2=%2D2147467259&Opt3=%5BMicrosoft%5D%5BControlador+ODBC+Microsoft+Access%5D+No+se+puede+actualizar%2E+Base+de+datos+u+objeto+de+s%F3lo+lectura%2E>

snoop

Te diria que trate de portar a PHP pero mejor no te lo digo :P

Citar/administrar_productos.asp, línea 30*
Deci que hay en la linea 30 :)
¿ Tu emule te aparece así ---- ? ¡¡ Tenés LOWID !! : >>SOLUCIÓN<<

Javi

ok, aca les dejo el codigo del ASP ese:

<%@ LANGUAGE="VBScript" %>
<%Response.Expires=0%>
<!-- #INCLUDE FILE="adovbs.inc" -->

<html>
<head>
<title>Ingreso de Datos</title>
</head>
'comienza el script
<%
'definimos la variable de conexion
Dim Conexion,Tabla
Set Conexion = Server.CreateObject("ADODB.Connection")
Set Tabla = Server.CreateObject("ADODB.Recordset")
'conectamos a la base de datos mediante OLE ODBC dando el Driver
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("DBInfinityXP.mdb")
'definimos la variable de carga de datos
Dim Temp
'buscamos los datos
Temp="Select * From Productos Where IdentificadorProducto=0"
Tabla.Open Temp,Conexion, adOpenStatic, adLockOptimistic, adCmdText
'si no se repiten agregamos los datos a nuestro buscador

    Tabla.AddNew
    Tabla("IdentificadorProducto") = "1"
    Tabla("NombreProducto") = "DATO"
    Tabla("PrecioProducto") = "4"
    Tabla("ImagenProducto") = "img"
    Tabla("CategoriaProducto") = "cat"
    Tabla("DescBrevProducto") = "descb"
    Tabla("DescripcionProducto") = "desc"
    Tabla("EstadoProducto") = "0"

    Tabla.Update
'fin del Script
%>

<font face="Tahoma" size="2">Ingreso de datos completado</font></p>
<%
'si el campo ya existe para no hacer dobles nos da este mensaje

    Response.Write "El registro ya existe"

'cerramos la conexion
Tabla.Close
Conexion.Close
%>
<p align="center"><font face="Tahoma" size="2">Buscador Web 2002</font></p>

<p align="center"><font face="Tahoma" size="2"><a href="cargar.htm" target="_top">Ingresar
Nuevo</a>
</font></p>
</body>
</html>




En esta me tira error

la BD es con access y muy simple con una tabla con los campos ahi nombrados

Salu2 y  gracias Snoop  ;)

snoop

al parecer tiene un error con esto:
Tabla("DescBrevProducto") = "descb"
que chequee si existe ese campo y es del tipo texto o similar.
¿ Tu emule te aparece así ---- ? ¡¡ Tenés LOWID !! : >>SOLUCIÓN<<

Javi

era un "memo", lo puse en texto y me tiro esto:

No se puede mostrar la página
Hay un problema con la página que está intentando ver y no se puede mostrar.

Please try the following:

    * Haga clic en el botón Actualizar o inténtelo de nuevo más tarde.
    * Abra la página principal de y, a continuación, busque vínculos a la información que desea.

HTTP 500.100. Error interno del servidor: error de ASP
Servicios de Internet Information Server

Información técnica (para personal de soporte técnico)

    * Tipo de error:
      Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
      La operación de múltiples pasos de OLE DB generó errores. Compruebe los valores de estado de OLE DB si es posible. No se realizó ningún trabajo.
      /administrar_productos.asp, línea 25

    * Tipo de explorador:
      Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1) Gecko/20061010 Firefox/2.0 megauploadtoolbar

    * Página:
      POST 141 bytes to /administrar_productos.asp

    * Datos de POST:
      NombreProducto=p&PrecioProducto=&ImagenProducto=&CategoriaProducto=&DescBrevProducto=&DescripcionProducto=&EstadoProducto=0&agregarProducto=1

palmy

no se mucho asp (es mas no se nada..), pero los datos q le estas mandando son strings?? o en la tabla hay algun entero?

o sino... esta bien hecha la conexion con la BD, encuentra el archivo de access???
Patagonia ReVelde | www.patagoniarevelde.com.ar

elrosti

Bueh.... solo por tirar una idea.... Supongo que estará usando IIS, asíq ue se fije que tenga todos los permisos necesarios en las carpetas de IIS(o sea en la configuración del sitio).

Tambien en los permisos sobre las carpetas donde esta trabajando y sus archivos, que no esten marcados como de solo lectura, etc.

Saludos.


PD: Yo le pongo una fichita a que es u problema de tipos de datos de todas maneras.  :P
Yo no lo quería creer..... pero ella me convenció.