Problema con conexion a Access 2000 - Interfaz no compatible

31/01/2004 - 21:47 por Jesús Lozano | Informe spam
Buenas noches a todos.

Aquí llevo un rato peleándome con un ejemplito de conexión a Access 2000, y
he tenido que usar el driver ODBC para conseguirla.

Y sin embargo, he visto en todos los sitios que se podía usar el motor Jet
de accesso a BD Access, pero a mí no me funciona, con lo cual, o estoy
haciendo algo mal, o realmente, me falta algún componente en mi equipo.

Las sentencias son las siguientes:

Dim objConex
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source="&Server.MapPath("/prueba/bd.mdb")
Set objConex=Server.CreateObject("ADODB.Connection")
objConex.Open strConn

Como veis, nada del otro mundo, y sin embargo, me da el siguiente error (lo
que no ocurre usando ODBC):

a.. Tipo de error:
Provider (0x80004002)
Interfaz no compatible
/transaccion.asp, line 12

y me he quedado a cuadros. ¿Me falta algún componente? o algo parecido?

Al hilo de todo esto, os queria preguntar si el Transaction funciona sobre
BD Access, pq a mi no me ha fucionado, es decir, no me hacia rollback cuando
se supone que debía hacerlo.

El código completo que me funcionaba, salvo el rollback es:

<%@TRANSACTION=REQUIRED%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</Head>
<body>
<%
Dim objConex
Dim uni
strConn = "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ="&Server.MapPath("/prueba/bd.mdb")

Set objConex=Server.CreateObject("ADODB.Connection")
objConex.Open strConn

objConex.Execute("Insert into articulos
(idpedidos,idarticulos,idcliente,unidades) values (2,2,3,500);")
objConex.Execute("Update Articulos Set unidades=unidades-100 Where
idarticulos=2")
Set rs=objConex.Execute("Select unidades from articulos where
idarticulos=2")
uni=rs("unidades")
rs.close
Set rs=Nothing
If uni<200 then
Response.Write "entra en abort"
ObjectContext.SetAbort
Response.Write "ejecutado set Abort???"
Else
Response.Write "entra en complete"
ObjectContext.SetComplete
End if
objConex.Close
Set objConex=Nothing
Sub OnTransactionCommit()
Response.Write "<b>Transacción realizada con éxito</b>"
End sub
Sub OntransactionAbort()
Response.Write "<b>La transaccion se ha cancelado</b>"
End sub%>
</body>
</html>

Como veis, usando la conexión ODBC me funciona, la del motor Jet no. La otra
pregunta es que no me funciona el rollback, y no se si es posible usarlo
sobre Access.

Gracias de antemano

Saludos

Jesús Lozano

Preguntas similare

Leer las respuestas

#1 Carlos Huerta [MSFT]
03/02/2004 - 17:29 | Informe spam
Hola,

Microsoft Access no tiene ningún resource manager por lo que no soporta la
directiva
@Transaction. Eso es lo que te indica el error " Provider (0x80004002)
Interfaz no compatible"
Debes usar una versión de SQL Server o MSDE o algún otro provider que
soporte la directiva.

Para más información sobre MSDE, puedes acceder a:
http://www.microsoft.com/sql/msde/default.asp

Un saludo
Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho. El uso de los ejemplos incluidos se rige por las
condiciones indicadas en la dirección
http://www.microsoft.com/spain/misc/avisolegal.htm

Por favor no envíen emails directamente a este alias. Este alias es sólo
para uso en las newsgroups

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Please do not send e-mail directly to this alias. This alias is for
newsgroup purposes only.
"Jesús Lozano" wrote in message
news:
Mostrar la cita
y
Mostrar la cita
(lo
Mostrar la cita
cuando
Mostrar la cita
otra
Mostrar la cita
#2 Jesús Lozano
06/02/2004 - 00:10 | Informe spam
Gracias Carlos, algo así me olía sobre la directiva @Transaction.

Con respecto a la cadena de conexión que no me funciona, que me puedes
decir? Alguna idea de pq no funciona esa y si la de ODBC??

Gracias de antemano

Jesús Lozano

"Carlos Huerta [MSFT]" escribió en el
mensaje news:
Mostrar la cita
no
Mostrar la cita
rights.
Mostrar la cita
2000,
Mostrar la cita
Jet
Mostrar la cita
sobre
Mostrar la cita
#3 Carlos Huerta [MSFT]
11/02/2004 - 12:16 | Informe spam
Hola

Perdona la tardanza pero estuve de viaje
Sobre el problema de la cadena de conexión, no deberías tener ningún problema, tienes ejemplos varios, com
http://support.microsoft.com/defaul...?scid=http://support.microsoft.com:80/support/kb/articles/Q232/1/44.ASP&NoWebContent¿Puedes indicarme el código que no te funciona

Un saludo
#4 Jesús Lozano
12/02/2004 - 23:44 | Informe spam
Gracias por responder Carlos, mas vale tarde que nunca :-)))

Lo tienes en el primer mensaje del hilo, ahí lo indicaba bien, creo

Gracias de nuevo

Jesús Lozano


"Carlos Huerta [MSFT]" escribió en el
mensaje news:
Mostrar la cita
problema, tienes ejemplos varios, como
Mostrar la cita
http://support.microsoft.com/defaul...?scid=http://support.microsoft.com:80/support/kb/articles/Q232/1/44.ASP&NoWebContent=1
Mostrar la cita
Ads by Google
Search Busqueda sugerida