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

Ayuda, problema con Access y ASP

Estas en el tema de Ayuda, problema con Access y ASP en el foro de ASP Clásico en Foros del Web. Hola a todos! Mi problema es el siguiente, tengo una base de datos Access y mediante ASP tengo que realizar una serie de consultas, pues ...
  #1 (permalink)  
Antiguo 24/08/2010, 08:19
 
Fecha de Ingreso: agosto-2010
Mensajes: 25
Antigüedad: 13 años, 8 meses
Puntos: 0
Ayuda, problema con Access y ASP

Hola a todos!
Mi problema es el siguiente, tengo una base de datos Access y mediante ASP tengo que realizar una serie de consultas, pues me pasa algo muy extraño porque la primera consulta si la realiza, pero luego las demas me da este error "Provider (0x80004005) Error no especificado", pero si esperas unos minutos y refrescas la pagina te muestra el contenido bien sin el error, nose si me explico.
Por si os sirve de algo yo he creado un ODBC y la cadena de conexión que utilizo es la siguiente:
function abrirConexionAccess(byref objConexionAccess)
Set objConexionAccess = Server.CreateObject ("ADODB.Connection")
objConexionAccess.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("baseDatos/datosrem.mdb")
end function
El error lo da justo en esta línea: objConexionAccess.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("baseDatos/datosrem.mdb")
Si necesitais algun dato mas pedirmelo.
Un saludo y gracias

Última edición por Adriangd7; 24/08/2010 a las 08:25
  #2 (permalink)  
Antiguo 24/08/2010, 08:41
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 10 meses
Puntos: 41
Respuesta: Ayuda, problema con Access y ASP

Seria bueno ver el codigo, ya que puede ser algun bucle o condicion mal planteada...
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras
  #3 (permalink)  
Antiguo 24/08/2010, 08:49
 
Fecha de Ingreso: agosto-2010
Mensajes: 25
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda, problema con Access y ASP

El código es un poco lioso porque tengo que mezclar 3 bases de datos 2 sql server y la de access, pero bueno os pongo el código de la conexion de access.
Primero creo la conexion:
dim objConexionAccess
call abrirConexionAccess(objConexionAccess)

queryAccess=select TOP 50 * from 00025PM1Tm2 where FECHA>=#2010-08-01 10:00# and FECHA<=#2010-08-01 10:30#
Set rsconsultaAccess = objConexionAccess.Execute(queryAccess)
while not rsconsultaAccess.eof
queryAux="select * from correspondencia where id_tarsys='" & trim(Request.Form("ocuHuerta")) & "'"
set rsconsultaAux=server.CreateObject("ADODB.Recordset ")
rsconsultaAux.open queryAux, objconexionAux
query="select * from INSTALACIONES where ID_INSTALACION=" & rsconsultaAux.Fields(4)
set rsconsulta=server.CreateObject("ADODB.Recordset")
rsconsulta.open query, objconexion
%>
<TR>
<td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%=rsconsultaAccess.Fields(0).Value %></TD>
<td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%= rsconsultaAccess.Fields(1).Value %></TD>
<td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%= rsconsultaAccess.Fields(2).Value %></TD>
<td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%= rsconsultaAccess.Fields(3).Value %></TD>

</TR>
<%
rsconsultaAccess.MoveNext
rsconsultaAux.Close
rsconsulta.Close
wend
rsconsultaAccess.close

Un saludo
  #4 (permalink)  
Antiguo 24/08/2010, 09:49
 
Fecha de Ingreso: agosto-2010
Mensajes: 25
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda, problema con Access y ASP

Os lo pongo mas detalladamente.

Vamos por partes tengo una función donde creó la conexión a la base de datos, es la siguiente:
Código ASP:
Ver original
  1. function abrirConexionAccess(byref objConexionAccess)          
  2.         Set objConexionAccess = Server.CreateObject ("ADODB.Connection")
  3.         objConexionAccess.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("baseDatos/datosrem.mdb")
  4.     end function

Tengo otra función que es para cerrar la conexión, que es la siguiente:

Código ASP:
Ver original
  1. function cerrarConexionAccess(byref objConexionAccess)
  2.         objConexionAccess.Close
  3.         Set objConexionAccess = Nothing
  4.     end function


Llamo a la función parar crear la conexión:

Código ASP:
Ver original
  1. dim objConexionAccess  
  2. call abrirConexionAccess(objConexionAccess)

Y luego ya está la función donde cojo los datos de la base de datos:

Código ASP:
Ver original
  1. function buscarPorInstalacion()    
  2.         dim queryAccess, query, queryAux, rsconsulta, rsconsultaAux ,rsconsultaAccess, registros, horaPrin, horaFin
  3.         horaPrin=Request.Form("horaPrinc")
  4.         horaFin=Request.Form("horaFiin")
  5.         if (horaPrin = "") then
  6.             horaPrin = "00:00"
  7.         end if
  8.         if (horaFin = "") then
  9.             horaFin = "23:59"
  10.         end if     
  11.         %>
  12.         <table border="1" bordercolor="#000000" style="font-family:Verdana, Arial, Helvetica, sans-serif; color:#000000; font-size:8pt; border-style:ridge; border-width:1px;" cellspacing="0" cellpadding="0" align="center">     
  13.        
  14.         <tr>
  15.             <td style="font-weight:bold; background-color:#7CC2FC; padding:3px; " align="center">
  16.                 Instalación
  17.             </td>
  18.             <td style="font-weight:bold; background-color:#7CC2FC; padding:3px; " align="center">
  19.                 Huerta
  20.             </td>
  21.             <td style="font-weight:bold; background-color:#7CC2FC; padding:3px; " align="center">
  22.                 Fecha
  23.             </td>
  24.         </tr>          
  25.         <%
  26.         if Request.Form("Instalacion") = 0 then
  27.             queryAux="select * from correspondencia"   
  28.         else       
  29.             queryAux="select * from correspondencia where id_instalacion='" & trim(Request.Form("Instalacion")) & "'"          
  30.         end if
  31.         set rsconsultaAux=server.CreateObject("ADODB.Recordset")       
  32.         rsconsultaAux.open queryAux, objconexionAux
  33.         while not rsconsultaAux.eof
  34.             if Request.Form("Medida") = 1 then
  35.                 queryAccess="select TOP 10 * from " & trim(rsconsultaAux.fields(1)) & "PM1Tm2"                 
  36.             else
  37.                 if Request.Form("Medida") = 2 then
  38.                     queryAccess="select TOP 10 * from " & trim(rsconsultaAux.fields(1)) & "PM1Tm1"                     
  39.                 else
  40.                     if Request.Form("Medida") = 3 then
  41.                         queryAccess="select TOP 10 * from " & trim(rsconsultaAux.fields(1)) & "PM1Tm1"                         
  42.                     end if
  43.                 end if
  44.             end if
  45.             if Request.Form("fechaPrinc") <> "" then
  46.                 queryAccess=queryAccess & " where FECHA>=#" & fechaBD(Request.Form("ocufechaPrin")) & " " & horaPrin & "#"
  47.             end if 
  48.             if Request.Form("fechaFiin") <> "" then
  49.                 queryAccess=queryAccess & " and FECHA<=#" & fechaBD(Request.Form("fechaFiin")) & " " & horaFin & "#"
  50.             end if     
  51.                         Set rsconsultaAccess = objConexionAccess.Execute(queryAccess)              
  52.                         while not rsconsultaAccess.eof
  53.                 query="select * from INSTALACIONES where ID_INSTALACION=" & rsconsultaAux.Fields(4)
  54.                 set rsconsulta=server.CreateObject("ADODB.Recordset")
  55.                 rsconsulta.open query, objconexion
  56.         %>
  57.                 <TR>   
  58.                     <td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%=rsconsulta.Fields(2).Value %></TD>
  59.                     <td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%=rsconsultaAux.Fields(2).Value %></TD>
  60.                     <td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%=rsconsultaAccess.Fields(0).Value %></TD>
  61.                     <td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%= rsconsultaAccess.Fields(1).Value %></TD>
  62.                     <td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%= rsconsultaAccess.Fields(2).Value %></TD>
  63.                     <td style="padding:3px; background-color:#7CC2FC; border-right:none;" align="center"><%= rsconsultaAccess.Fields(3).Value %></TD>
  64.                     <td style="padding:3px; background-color:#7CC2FC;
  65.                 </TR>  
  66.         <% 
  67.                 rsconsultaAccess.MoveNext              
  68.                 rsconsulta.Close
  69.         wend
  70.         rsconsultaAccess.Close     
  71.         rsconsultaAux.MoveNext
  72.     wend
  73.     Response.Write("</table>") 
  74.    
  75.     end function

El problema es que la primera consulta la hace perfectamente, pero a partir de la siguiente me da el error, pero si esperas unos minutos y actualizas la página te muestra el resultado correctamente.
Un saludo

Última edición por Adriangd7; 24/08/2010 a las 10:03

Etiquetas: access, asp
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 00:19.