ASP visual .net

Me gustaría hacer una aplicación que estuviera en internet, pero enganchada a una base de datos que se encuentra en un servidor que tiene ADSL. Me gustaría saber como tendría que hacer la conexión para que cuando se ejecute la aplicación se conecte a este servidor. ¿No se si tengo que abrir algún puerto en el router? Bueno si puedes ayudarme te lo agradecería. Un saludo
Respuesta
1
Antonio me toco hacer lo mismo que me describes y me provoco más de un dolor de cabeza esto fue por mi empresa proveedora de internet me cobra por disponer de mis puertos, mira la respuesta es en base a que base de datos vas a ocupar si es sql server la maquina con el sql debe tener disponible el puerto 1433 para la comunicación del sql servery lo otro es el strng de conexión a usar en tu aplicación si ocupas ado solo generalo y dale la ip de la maquina servidor o ocupa odbc apuntando al servidor sql server
Acuérdate de dejar libre el puerto del servidor si estas bajo un router tu servidor solo debes abrir ese puerto . si tienes MSN comunicate conmigo [email protected]

5 respuestas más de otros expertos

Respuesta
1
Muy bien, lo primero que hace falta saber es el formato de la base de datos, y por supuesto, el formato que soporta el server (access o mysql) porque según el formato cambia el comando de conexión. El resto es todo igual. Vamos a suponer que la base de datos se llama base.mdb (access) y la tabla a examinar se llama tabla1 y tiene los campos id, nombre. (Para hacerla corta) o en caso de que fuera mysql, la base se llamaría base (solo, no tiene un *. *(Formato, ej: *.mdb) bien, a continuación explicaré como conectarse a cada una (todo esto se debe escribir en una página a colgar en el server con formato ASP):
Mysql:
Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.Open "DSN=base; UID=nombredeusuario; PWD=clave;"
Access:
Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.Open "DRIVER={Microsoft Access Driver (*.mdb}; DBQ=" & server.mappath("/base.mdb");
Lo que sigue es igual para cualquier base:
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open "SELECT * FROM tabla1", Conexion
Do while not Rs.EOF
response.write Rs.Fields("id") & " " & response.write Rs.Fields("nombre")
Rs.MoveNext
Loop
Espero que te sirva; de cualquier forma, esto lo que hace es conectarse a una base (en el caso ficticia, pero le cambiás los datos para tu base), y muestra todos los registro que hay en la misma.
Si querés hacer una búsqueda y/o ingresar datos como por ejemplo cuando te registras una casilla de email o algo, decime que te digo como hacerlo.
Atentamente. Manuel Fernández.
El servidor es local esta en mi oficina y tiene conexión a internet con un router ADSL y me gustaría que la página de internet se conectara a esta base de datos local y cogiese los datos.
SI te pudieras exlpicar un poco más, es que realmente no entiendo cual es el problema, es decir, no llego a entender si quieres hacer una pñagina ASP que se conecta a una base de datos colgada en el servidor, o una aplicación en visual bsic que haga eso.
Bueno, espero tu respuesta para poder comenzar a explicarte como hacerlo.
Atentamente. Manuel Fernández
El problema es que ese tipo de ip por lo general es dinámico, o sea que va cambiando; por lo que la página tendría que tener todas las posibilidades de ip de tu router e ir probando hasta tomar la que está usando tu modem en el momento.
Por eso es que creo que lo mejor sería colgar la base en el server de lycos directamente. Así tenés un único IP al cual conectar el ASP.
Atentamente. Manuel Fernández.
Ya, pero resulta que la página la tengo por ejemplo en el servidor lycos y la base de datos la tengo en mi oficina. Yo quiero que se conecte desde la página que está en lycos a mi oficina para sacar datos. Tendré que poner la dirección IP externa del router en alguna parte para que se conecte a la oficina y redireccionar algún puerto en el router para que se vaya al ordenador que tiene la base de datos, es que no tengo ni idea como es pero a lo mejor es algo así.
No hay problema porque en la oficina donde está la base de datos tenemos un router con IP fija que no varia, yo quiero saber como tengo que hacer la conexión para que se conecte a través del router al ordenador donde esta la base de datos.
En realidad, yo por lo general trabajo con bases colgadas en servidores como puede ser lycos o cualquier otro, supongo que para conectarte a una base que este en la pc, tenés que usar el IP del router, con el código que te dí pero poniendo el IP en el lugar de la dirección de la base de datos y obviamente la carpeta dentro del rígido en la que esté. O sea, toma al IP como si dijera "C:\" y a partir de ahí pone el resto Ejemplo: (242.23.125.0/mis documentos/base.mdb)
Y sinceramente, yo siempre y cuando pueda te voy a dar una mano, una idea, lo que sea, pero me agarraste en algo en lo que nunca tuve experiencia que es lo de internet con adsl (router). De cualquier forma yo creo que debería funcionar, pero podes probar con PWS (Personal Web Server) de Microsoft que crea una intranet en tu pc, y después adaptas el código para acceder desde otro lado.
Ahora, acordate que esa máquina debe estar prendida todo el tiempo.
Un saludo, y mucha suerte (o como dicen que es mejor: mucha merd (mierda en francés)).
Atentamente. Manuel Fernández.
Respuesta
Lo único que tienes que hacer al especificar el connectionString, es poner el dominio del DNS dinámico, por ejemplo: servidordb. Dynip.com, en lugar del ip de la maquina, así si el IP del ASDL cambia, el dominio se mantiene actualizado.
En principio Oracle o SQL server
Para que te puedas conectar a una base de datos en un servidor con ASDL podrías usar un DNS dinámico, como dynip.com, así te conectarías siempre a servidor34. Dynip.com (por ejemplo), y si cambia el ip de la maquina, el DNS se encarga de redireccionar al nuevo IP. Si tu maquina esta conectada directamente al modem y el IP que te proporciona el ISP es homologado, no necesitas hacer nada, si usas un router para compartir la conexión, tienes que hacer un "port mapping" para que las peticiones de determinado puerto (el de la base de datos por ejemplo) sean redireccionadas a tu maquina.
Pero resulta que la base de datos está en mi oficina y la aplicación en nuestro servidor web y quiero que la página se conecte a la base de datos de la oficina.
¿Qué tipo de base de datos es?
¿ACCESS o SQL server?
Para crear un connection String de manera visual, puedes usar el server explorer.
En el nodo de 'Data Connections', haces click derecho, luego haces click en 'Add connection', luego en el primer tab seleccionas el provider (tipo de base de datos) por ejemplo: Microsoft Oledb for SQL server, después en el segundo tab (connection), en el campo 'server name' pones el IP, luego el usuario y el password, y seleccionas la base de datos a conectar, seleccionas 'allow saving password' y le das 'test connection' para probar la conexión. Una vez agregada la conexión, puedes ver su connection string en la ventana de propiedades y usar ese string en cualquier parte del proyecto para crear conexiones, o simplemente arrastra la conexión del server explorer a una página y el IDE te crea automáticamente el código de declaración de la conexión.
Respuesta
-1
En teoría si se puede hacer ya que al tener Ip fija tu podrías compartir la carpeta donde esta la base de datos, eso es lo que se me ocurre así a bote pronto, la verdad es que nunca lo he hecho ya que siempre ha sido en un servidor local. Pero seguro que se puede.
¿De qué base de datos estamos hablando? Ya que creo que en Ms sql server si que hay comandos para acceso remoto.
En principio SQL server u Oracle, pero alguna de esas
Pues entonces no creo que tengas problemas, estoy convencido que en la maquina donde programes el ASP podrás incluso hacer una conexión ODBC remota con MS SQL server.
Pero, lo mejor es que lo preguntes en un foro de SQL Server, yo no puedo ayudarte.
Lo siento mucho.
Respuesta
-1
Depende con que motor de bases de datos trabajes, y con que lenguaje de programación... veo que trabajaras con .NET, pero en este lenguaje no te puedo ayudar ya que no tengo experiencia... por otro lado, te cuento que para conectarte a una base de datos de un server remoto podrías trabajar son SQL Server que también es de microsoft...
Respuesta
-1
Depende de que tipo de conexión quieras hacer con ese servidor, tendrás que abrir unos puerto u otros. Pero por lo demás la llamada tendrás que hacerla de tal manera que la BD interprete que la petición viene de un usuario reconocido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas