Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 3 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Mié Jun 03, 2009 11:00 pm
Mensajes: 20

Nota Publicado: Mar Nov 17, 2009 10:55 am 
Arriba  
Hola,

En una página ASP, necesito acceder a una base de datos, pero desde un Script de CLIENTE.

Con Vbscript lo he conseguido que funcione correctamente de esta forma:
Código:
        Dim Cn, Rs
        set Cn = CreateObject("ADODB.Connection")
        Cn.Open "Provider=SQLOLEDB.1;Password=xxx;Persist Security Info=True;User ID=xxx;Initial Catalog=xxx;  <%=Application("Maquina")%>"
       
        Set Rs = CreateObject("ADODB.Recordset")       
        strSQL = "SELECT * FROM TABLA " _
        & "WHERE TIPO=" & vTipoBien & " " _
        & "AND ID_MEDIDA =" & <%=vMedida%>
        'msgbox(strSQL)       
        Rs.Open strSQL, Cn       
        If Rs.EOF then
        ...

Pero necesito hacer esto mismo desde un Script de Cliente (runat=client) de JavaScript. He probado con esto:
Código:
        Cn = Server.CreateObject("ADODB.Connection")
        Rs = Server.CreateObject("ADODB.RECORDSET")       
        Cn.Open("Provider=SQLOLEDB.1;Password=xxx;Persist Security Info=True;User ID=xxx;Initial Catalog=xxx;  <%=Application("Maquina")%>")
        ...

pero me da error, me dice que: "Server no esta definido"
Probé con esto:
Código:
        cn = new Connection();       
        rs = new Recordset();
        cn.open("dsn=pubs", "sa", "");
        rs = cn.execute("SELECT * FROM authors")
        ...

pero me da error, me dice que: "Connection no esta definido"

¿Como puedo acceder a la base de datos desde JavaScript, en un Script de cliente?

Saludos.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Mié Jun 03, 2009 11:00 pm
Mensajes: 20

Nota Publicado: Mié Nov 18, 2009 7:51 am 
Arriba  
Código:
La solución es la siguiente:


       var Cn=new ActiveXObject("ADODB.Connection");
      Cn.Open("Provider=SQLOLEDB.1;Password=xxx;Persist Security Info=True;User ID=xxx;Initial Catalog=xxx; <%=Application("Maquina")%>");
       var rs=new ActiveXObject("ADODB.Recordset");
       var strSQL="SELECT * FROM TABLA WHERE TIPO=" + vTipoBien + " AND ID_MEDIDA =" + <%=vMedida%>;
       rs.open(strSQL,Cn);
       if(rs.EOF){ //Condición IF  }


Saludos

 Perfil  

Desconectado
Forista Medio
Forista Medio

Registrado: Sab Feb 21, 2004 12:00 am
Mensajes: 225

Nota Publicado: Sab Nov 28, 2009 2:08 pm 
Arriba  
Buenas abmptc,

para acceder a la base de datos desde javascript yo no utilizaria ActiveXObject. Si no tengo mal entendido, navegadores como Firefox no lo soportan; estarias excluyendo a un 25% de usuarios web.

Por ello te recomiendo que mejor utilizes Ayax. Puedes utilizarlo para llamar a un fichero ASP (PHP, coldfusion....), la cual se conectasria con la base de datos y llevaria a cabo todas las operacoiones relacionadas con la BBDD.

Funcion de javascript para hacer la llamada:
Código:
function getDataServer(url, vars){
     var xml = null;
     try{
         xml = new ActiveXObject("Microsoft.XMLHTTP");
     }catch(expeption){
         xml = new XMLHttpRequest();
     }
     xml.open("GET",url + vars, false);
     xml.send(null);
     if(xml.status == 404) alert("URL no valida");
     return xml.responseText;
}

Luego solo tendrias que utilizarlo:
Código:
var respuesta = getDataServer("ejemplo.asp","?arg1=param1&arg2=param2....");


En la variable respuesta tendrias el valor devuelto.

Un saludo.

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 3 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO