ASP y MySQL..... una consulta

07/05/2006 - 05:23 por Arturo Costa Delgado | Informe spam
Hola amigos:
Investigando pude encontrar la forma de poder acceder a una base de datos
MySQL desde una página ASP mediante este código:

<%
Dim Conexion,Tabla1
Set Conexion=Server.CreateObject("adodb.connection")
Conexion.Open "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=mibasededatos;
USER=miusuario;PASSWORD3456;OPTION=3;"

on error resume next
set rs=conexion.execute("select * from valores")
if error then
response.write "Hubo error"
' aqui todos los codigos que quieras para ver los datos del error
else
response.write "Tabla abierta exitosamente<br>"
end if

rs.close
set rs=nothing
conexion.close
set conexion=nothing
%>

Asumo que el OPTION=3 hace referencia a un puntero que según el número me
permitiría abrir la tabla en modo escritura, pero no encuentro información
al respecto. ¿Alguien tiene alguna noción o idea de como poder abrir una
tabla MySQL en modo escritura para ingresar o eliminar datos?.

Agradezco el apoyo y cooperación

ACD

Preguntas similare

Leer las respuestas

#1 Dani Castillo
07/05/2006 - 10:56 | Informe spam
Holassss
bueno te cuento, yo abro la conexion igual (bueno añadiendo el server y port
en la cadena pq esta en otra maquina)

aqui tienes la definicion del option
http://dev.mysql.com/doc/refman/5.0...eters.html

(son datos "sumados", 3=1+2 , con asp he encontrado problemas con el tamaño
"declarado" de las columnas y similares, eso parece solucionarlo), como ves
son mas bien opciones generales de configuracion, no de permisos, y no
afectan a una tabla sino a una conexion a una base de datos

por defecto que yo sepa , y teniendo bien el user y pass tienes permisos
para borrar, al menos en los executes yo al menos no he tenido ningun
problema con eso
un
conn.execute "delete * from ..."
me funciona bien

para los recordsets seleccionas el tipo del cursor al abrir

ejemplo:

set rs=server.createobject("ADODB.Recordset")
rs.open "select * from" ,conn,3,3 ' aqui marcas el cursor y tipo de
recordset
' creo q es una forma mas 'visual' de definir el tipo de rs que
' con un execute

tendras permiso para todo


"Arturo Costa Delgado" escribió en el
mensaje news:%
Hola amigos:
Investigando pude encontrar la forma de poder acceder a una base de datos
MySQL desde una página ASP mediante este código:

<%
Dim Conexion,Tabla1
Set Conexion=Server.CreateObject("adodb.connection")
Conexion.Open "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=mibasededatos;
USER=miusuario;PASSWORD3456;OPTION=3;"

on error resume next
set rs=conexion.execute("select * from valores")
if error then
response.write "Hubo error"
' aqui todos los codigos que quieras para ver los datos del error
else
response.write "Tabla abierta exitosamente<br>"
end if

rs.close
set rs=nothing
conexion.close
set conexion=nothing
%>

Asumo que el OPTION=3 hace referencia a un puntero que según el número me
permitiría abrir la tabla en modo escritura, pero no encuentro información
al respecto. ¿Alguien tiene alguna noción o idea de como poder abrir una
tabla MySQL en modo escritura para ingresar o eliminar datos?.

Agradezco el apoyo y cooperación

ACD



Respuesta Responder a este mensaje
#2 Arturo Costa Delgado
08/05/2006 - 08:13 | Informe spam
Muchas gracias por tu respuesta.
Justo había encontrado esa página pero no logro entender, muy a mi pesar, la
explicación que dan.

Modifique el código en esta forma, siguiendo tu recomendación:

<%
set conn=server.CreateObject("adodb.connection")
conn.open "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=prueba;
USER=miusuario;PASSWORD3456;OPTION=3;"

set rs=server.createobject("ADODB.Recordset")
rs.open "select * from valores.",conn,3,3
while not rs.eof
response.write rs("dato")
response.write("<br>")
rs.movenext
wend

rs.close
set rs=nothing
conexion.close
set conexion=nothing
%>

pero me da el siguiente error:


Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
El controlador ODBC no admite las propiedades solicitadas.
/pruebas/pasarmdbamysql/pasarmdbamysql.asp, line 6


siendo la línea 6 la siguiente:


rs.open "select * from valores.",conn,3,3


¿Crees que podrias darme una orientación más para ver en que estoy
fallando?. Tengo la impresión de que es un simple error, pero como estoy con
la presión de otros trabajos "más de oficina", temo que estoy un poco
"bloqueado".
Agradezco mucho en verdad la respuesta a mi consulta previa. Muy amable de
tu parte.
ACD
Respuesta Responder a este mensaje
#3 Dani Castillo
08/05/2006 - 11:24 | Informe spam
Supongo que la linea 6 es la del
rs.open "select * from valores.",conn,3,3

¿esta 'mas o menos' tal cual? , sobra un punto al final, con suelte es eso,
ya te comento no tengo normalmente ningun problema con mysql, por si acaso
incluye el host y puerto de mysql en la conexion a ver si es eso

sobre el option, en general "no deberia" hacer falta, pero algunas funciones
de asp contra mysql se marean un poco si no lo pones, en concreto el saber
el size de un campo de una tabla (ejemplo, un campo tipo texto y quiero
saber la longitud del campo reservada en la base de datos, no la longitud de
un dato particular) es mas o menos lo q comenta la pagina... eso si,
enrevesadamente y en ingles :-)



____________________________
Daniel Castillo Martinez
Ajuntament d'Alaquàs. Societat de la Informació

____________________________
"Arturo Costa Delgado" escribió en el
mensaje news:#
Muchas gracias por tu respuesta.
Justo había encontrado esa página pero no logro entender, muy a mi pesar,


la
explicación que dan.

Modifique el código en esta forma, siguiendo tu recomendación:

<%
set conn=server.CreateObject("adodb.connection")
conn.open "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=prueba;
USER=miusuario;PASSWORD3456;OPTION=3;"

set rs=server.createobject("ADODB.Recordset")
rs.open "select * from valores.",conn,3,3
while not rs.eof
response.write rs("dato")
response.write("<br>")
rs.movenext
wend

rs.close
set rs=nothing
conexion.close
set conexion=nothing
%>

pero me da el siguiente error:


Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
El controlador ODBC no admite las propiedades solicitadas.
/pruebas/pasarmdbamysql/pasarmdbamysql.asp, line 6


siendo la línea 6 la siguiente:


rs.open "select * from valores.",conn,3,3


¿Crees que podrias darme una orientación más para ver en que estoy
fallando?. Tengo la impresión de que es un simple error, pero como estoy


con
la presión de otros trabajos "más de oficina", temo que estoy un poco
"bloqueado".
Agradezco mucho en verdad la respuesta a mi consulta previa. Muy amable de
tu parte.
ACD


Respuesta Responder a este mensaje
#4 Arturo Costa Delgado
08/05/2006 - 17:36 | Informe spam
Gracias por responder. Si, tal como te indique en el mensaje anterior, la
línea 6 es esta:


rs.open "select * from valores.",conn,3,3


y como te darás cuenta, es exactamente igual a la que posteaste
inicialmente. Por eso me llamó también la atención. En ASP yo hubiera
colocado algo como esto:


rs.open "select * from valores.",conn,2,3,1

y no hubiera tenido ningún problema. ¿Alguna idea sobre el tema? Agradezco y
valoro mucho tu apoyo en este tema. Por ello te estoy muy agradecido

ACD
Respuesta Responder a este mensaje
#5 Dani Castillo
09/05/2006 - 09:46 | Informe spam
Quitando el punto final te ha funcionado? :-)

suele pasar cuando uno cambia de motor de base de datos (o de options dentro
de la misma igual ufs) en ocasiones son bastante delicadas con la sintaxis
de mysql , aparte de diferencias en algunos puntos (tanto dentro de la misma
base de datos entre sus versiones como entre distintos motores, por ejemplo
algunas versiones de mysql no permiten anidar consultas, etc)


"Arturo Costa Delgado" escribió en el
mensaje news:#
Gracias por responder. Si, tal como te indique en el mensaje anterior, la
línea 6 es esta:


rs.open "select * from valores.",conn,3,3


y como te darás cuenta, es exactamente igual a la que posteaste
inicialmente. Por eso me llamó también la atención. En ASP yo hubiera
colocado algo como esto:


rs.open "select * from valores.",conn,2,3,1

y no hubiera tenido ningún problema. ¿Alguna idea sobre el tema? Agradezco


y
valoro mucho tu apoyo en este tema. Por ello te estoy muy agradecido

ACD


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida