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

codigo asp clasico funciona bien hasta windows 2003 de ahí en adelante no funciona

Estas en el tema de codigo asp clasico funciona bien hasta windows 2003 de ahí en adelante no funciona en el foro de ASP Clásico en Foros del Web. Hola, trabajo con asp clasico desde el año 99, y tengo un proyecto ya viejito con multiples bases de datos alguien de este foro me ...
  #1 (permalink)  
Antiguo 04/04/2016, 10:36
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 2 meses
Puntos: 4
codigo asp clasico funciona bien hasta windows 2003 de ahí en adelante no funciona

Hola,
trabajo con asp clasico desde el año 99, y tengo un proyecto ya viejito con multiples bases de datos
alguien de este foro me sugirio o me ayudo para colocar en la funcion conx_bd(''nombre_bd") el nombre de la bd que queria consultar, de esta manera podria tener multiples bases de datos sin tener varias conexiones.

el caso es qeu toda mi aplicacion la hice asi y es gigante, ya se podran imaginar cuanto ha crecido desde el 99 hasta la fecha actual.

el problema que tengo es que solo me funcinoa asi hasta la version de windows 2003 IIS6, ya que si la monto a windows 8 o windows 2012 o bien sea un hosting en godaddy ya no me funciona,
ya active las funciones de compatibilidad de iis y tampoco cuando cambio las consultas si funciona, pero esto no es viable porque me tocaria cambiar toda el software y eso es imposible de hacer o mas bien inviable.

con esta consulta que tiene actualmente en todo el sitio funciona bien en 2003 y en 2012 ya no funciona.
Código:
Dim sqlMd2w, rsMd2w, id_barrio_anterior 
sqlMd2w = "select id_barrio, estado_cxc  from contactos where id =  1 limit 0,1 "
Set rsMd2w = Server.CreateObject("ADODB.Recordset")
rsMd2w.Open sqlMd2w, conx_bd("fullclean_contactos"), 3, 3
if not rsMd2w.eof then
	id_barrio_anterior = rsMd2w("id_barrio")
else
	id_barrio_anterior = 0
end if
rsMd2w.close
set rsMd2w = nothing
con esta consulta funciona bien en todos las versiones
si ven bien cambia la linea debajo del select. pero ya no puedo ponerle a que base de datos corresponde es decir me funcionaria solo para 1 bd. y me quedaria muy dificil cambiar toda la programación del software para que quedara asi,

Código:
Dim sqlMd2w, rsMd2w, id_barrio_anterior
sqlMd2w = "select id_barrio, estado_cxc  from contactos where id =  1 limit 0,1 " 
Set rsMd2w = oConn.Execute(sqlMd2w)
 
if not rsMd2w.eof then
	id_barrio_anterior = rsMd2w("id_barrio")

else
	id_barrio_anterior = 0
end if 
rsMd2w.close
set rsMd2w = nothing
alguien le ha pasado algo similar o me puede colaborar para ver que solucion le doy para no tener que cambiar todo mi codigo fuente?



aca pongo las conexiones tambein por si algo:
esta es la que uso actualmente:

Código:
Dim rs, con, conx 
function conx_bd(nombre_bd)
	Dim db_username, db_userpassword, db_puerto
	Dim db_server
	
	db_server = "192.168.50.10"
	db_username = "root"
	db_userpassword = "12345678"
	db_puerto = "3306"

	
	con = "Driver={MySQL ODBC 5.1 Driver};SERVER=" & db_server & ";DATABASE=" & nombre_bd & ";UID=" & db_username & "; PORT=" & db_puerto & "; PWD=" & db_userpassword
	
	Set conx = Server.CreateObject("ADODB.Connection")
	conx.Open con	
	conx_bd = conx
end function

esta es la que he probado en servidores 2008, 2012 y en godaddy y me funciona


Código:
	Dim oConn, oRs
	Dim qry, connectstr
	Dim db_name, db_username, db_userpassword
	Dim db_server
	
	db_server = "192.168.50.10"
	db_name = "basededatos"
	db_username = "root"
	db_userpassword = "123456"
	
	connectstr = "Driver={MySQL ODBC 5.1 Driver};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_username & "; PORT=3306; PWD=" & db_userpassword
	
	Set oConn = Server.CreateObject("ADODB.Connection")
	oConn.Open connectstr
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com

Etiquetas: asp, windows
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 23:22.