“Conocimiento software>SQL Server

¿Cómo se conecta un servidor web remoto a otra base de datos con ASP?

2012/4/14
No puede conectarse directamente a una base de datos remota * utilizando ASP * de la misma manera que lo haría con un lenguaje del lado del servidor como ASP.NET, PHP, Python, Node.js, etc. ASP clásico (Páginas de servidor Active) es una tecnología obsoleta con capacidades limitadas en comparación con los modernos marcos del lado del servidor. Se basa en gran medida en los objetos COM (Modelo de objetos de componente), y las interacciones de la base de datos generalmente ocurren a través de ADO (objetos de datos ActiveX). ADO no admite inherentemente conectarse a bases de datos remotas de manera directa, especialmente si las configuraciones de seguridad y red son complejas.

Para lograr esto, necesitaría emplear una de estas estrategias, reconociendo las limitaciones del ASP clásico:

1. Middleware/API: El enfoque más recomendado es crear un servicio separado (middleware) escrito en un lenguaje más moderno (por ejemplo, Node.js, Python con Flask/Django, C# con ASP.NET Core Web API) que actúa como intermediario.

* Cómo funciona: Su aplicación ASP clásica realizaría solicitudes HTTP (usando `msxml2.ServerXMLHTTP`) a su API de middleware. Esta API manejaría la conexión de la base de datos y la recuperación de datos del servidor remoto, y luego devolvería los resultados a la aplicación ASP en un formato como JSON.

* ventajas: Esto separa las preocupaciones, mejora la seguridad (no expone las credenciales de su base de datos directamente a la aplicación ASP) y permite una mejor escalabilidad y mantenimiento.

* Desventajas: Agrega complejidad con la necesidad de configurar y mantener el servicio separado.

2. (Menos recomendado) Conexión directa (con advertencias significativas): Si el servidor de base de datos remoto permite la configuración de su configuración de red y de red, * podría * poder establecer una conexión directa. Sin embargo, esto está altamente desanimado debido a riesgos y dificultades de seguridad significativas.

* Desafíos: Deberá configurar el acceso a la red, manejar las reglas del firewall y garantizar los permisos de usuario de la base de datos adecuada. La cadena de conexión tendría que especificar la dirección y las credenciales del servidor remoto, lo que representa una amenaza de seguridad sustancial si su código ASP no está asegurado correctamente. Este enfoque solo es factible en entornos muy controlados con una estricta gestión de seguridad.

Ejemplo (enfoque de middleware - conceptual):

asp (cliente):

`` `VBScript

<%

Establecer xmlhttp =createObject ("msxml2.serverxmlhttp")

xmlhttp.open "get", "http:// your-api-server/data? id =123", falso

xmlhttp.send

respuesta

Establecer xmlhttp =nada

%>

`` `` ``

node.js (API de middleware - ejemplo):

`` `JavaScript

const express =require ('express');

const mysql =require ('mysql2/promesa'); // u otra biblioteca de bases de datos

const app =express ();

Const Port =3000;

const dbconfig ={

Anfitrión:'Your-Remote-DB-Host',

Usuario:'User de su DB,

Contraseña:'Su-DB-Password',

Base de datos:'su nombre-db-name'

};

app.get ('/data', async (req, res) => {

intentar {

const conexión =ALEA MYSQL.CREATECONNECTION (DBCONFIG);

const [filas] =ALEA CONEXT.EXECUTE ('SELECT * DESDE Your_Table Where id =?', [req.query.id]);

esperar conexión.end ();

res.json (filas);

} capt (error) {

console.error (error);

res.status (500) .send ('error de base de datos');

}

});

app.listen (puerto, () => console.log (`API escucha en el puerto $ {puerto}`));

`` `` ``

Recuerde reemplazar los valores del marcador de posición con sus detalles reales. Este ejemplo Node.js usa MySQL, pero puede adaptarlo a otros sistemas de bases de datos (PostgreSQL, MongoDB, etc.). El punto crítico es que la lógica de conexión de base de datos y la lógica de interacción están completamente manejadas por el servicio separado, más robusto y seguro. Esta es la mejor práctica para conectarse a bases de datos remotas desde cualquier aplicación, no solo ASP clásico.

SQL Server
Cómo cambiar el nombre de instancia de SQL Server 2008
¿Para qué se usa el SQL Server Express?
¿Qué conecta los registros en las tablas separadas de acceso?
¿Cuál es una condición de que los registros que se incluirán en la consulta deben satisfacer el acceso?
¿Cuáles son la diferencia entre el servidor de archivos y el servidor de base de datos?
El error de sintaxis de SQL Server para la conversión de fecha /hora a partir de una cadena de caracteres
¿Qué es el SP4 Microsoft SQL Server
¿Qué servidor puede usar PHP y Oracle?
Conocimiento de la computadora © http://www.ordenador.online