Obtener acceso a datos remotos con las vistas

Cuando desee utilizar datos situados en un servidor remoto, deberá crear una vista remota. Para crear una vista remota, primero debe ser capaz de conectarse a un origen de datos.

Un origen de datos remoto es generalmente un servidor remoto para el que ha instalado un controlador ODBC y establecido un nombre de origen de datos ODBC. Para tener un origen de datos válido, debe asegurarse de que ODBC está instalado. Desde Visual FoxPro, puede definir un origen de datos y conexiones.

Para obtener más información acerca de configurar un origen de datos ODBC, consulte Configurar un origen de datos ODBC.

Definir una conexión

En Visual FoxPro, puede crear y almacenar en una bases de datos una definición de conexión con nombre, a la que se puede referir desde ese momento por su nombre cuando cree una vista remota. También puede establecer propiedades de la conexión con nombre para optimizar la comunicación entre Visual FoxPro y el origen de datos remoto. Cuando active una vista remota, la conexión de la vista se convertirá en la canalización al origen de datos remoto.

Nota   Para crear una conexión es imprescindible tener abierta una base de datos.

Para crear una nueva conexión

  1. En el Administrador de proyectos, seleccione una base de datos.

  2. Seleccione Conexiones y elija Nuevo.

  3. En el Diseñador de conexiones, introduzca las opciones correspondientes a los requisitos de su servidor.

  4. En el menú Archivo, elija Guardar.

  5. En el cuadro de diálogo Guardar, escriba un nombre para la conexión en el cuadro Nombre de conexión.

  6. Elija Aceptar. También puede crear una conexión si elige Nuevo en el menú Archivo y selecciona la opción Conexión.

    –O bien–

  • Abra una base de datos y utilice el comando CREATE CONNECTION para abrir el Diseñador de conexiones.

    –O bien–

  • Utilice el comando CREATE CONNECTION con un nombre de conexión.

Por ejemplo, para crear una conexión en la base de datos testdata que almacene la información necesaria para conectarse al origen de datos ODBC sqlremote, puede escribir el código siguiente:

OPEN DATABASE testdata
CREATE CONNECTION remote_01 DATASOURCE sqlremote userid password

Visual FoxPro muestra remote_01 como el nombre de la conexión en el Administrador de proyectos.

La creación de una conexión con nombre en su base de datos no utiliza ningún recurso remoto ni de red, ya que Visual FoxPro no activa la conexión hasta que usted utiliza la vista. Hasta que active la conexión, la conexión con nombre sólo existe como una definición de conexión almacenada como una fila en el archivo .dbc de la base de datos. Cuando utilice una vista remota, Visual FoxPro usará la conexión con nombre mencionada en la vista para crear una conexión activa con el origen de datos remoto y enviará la solicitud de datos al origen remoto utilizando la conexión activa como canalización.

Puede crear opcionalmente una vista que especifique únicamente el nombre del origen de datos, en lugar del nombre de la conexión. Cuando utilice la vista, Visual FoxPro usará la información de ODBC acerca del origen de datos para crear y activar una conexión con el origen de datos. Cuando cierre la vista se cerrará la conexión.

Prioridad de nombres para conexiones y orígenes de datos

Cuando utilice el comando CREATE SQL VIEW con la cláusula CONNECTION, especifique un nombre que represente una conexión o bien un origen de datos. Visual FoxPro buscará primero en la base de datos actual una conexión con el nombre que especificó. Si no existe ninguna conexión con ese nombre en la base de datos, Visual FoxPro buscará entonces un origen de datos ODBC establecido con el nombre especificado. Si su base de datos actual contiene una conexión con nombre cuyo nombre coincide con el de un origen de datos ODBC de su sistema, Visual FoxPro la encontrará y utilizará la conexión con nombre.

Mostrar instrucciones de inicio de sesión ODBC

Cuando use una vista cuya información de inicio de sesión de conexión no esté totalmente especificada, Visual FoxPro puede mostrar un cuadro de diálogo específico del origen de datos que le pida la información que falte.

Puede controlar si Visual FoxPro le pedirá la información que dejó sin especificar en el momento de la conexión.

Para controlar la presentación de instrucciones de inicio de sesión ODBC

  1. En el Administrador de proyectos, seleccione el nombre de la conexión y elija Modificar para abrir el Diseñador de conexiones.

  2. En el área Mostrar instrucciones de inicio de sesión ODBC, elija una opción.

    –O bien–

Usar una conexión existente

Puede utilizar una conexión con nombre ya existente para crear una vista remota. Puede ver una lista de las conexiones disponibles en la base de datos y utilizar el Administrador de proyectos o el comando DISPLAY CONNECTIONS.

Para determinar las conexiones existentes

Por ejemplo, el código siguiente muestra las conexiones de la base de datos testdata:

OPEN DATABASE testdata
DISPLAY CONNECTIONS

Crear una vista remota

Cuando tiene un origen de datos o una conexión con nombre válidos, puede crear una vista remota con el Administrador de proyectos o el lenguaje de programación. Una vista remota es similar a una vista local, pero usted agrega un nombre de conexión o de origen de datos al definir la vista. La instrucción SQL de la vista remota utiliza la sintaxis nativa del servidor.

Para crear una vista remota

  1. En el Administrador de proyectos, seleccione una base de datos, seleccione Vistas remotas y elija Nuevo para abrir el Diseñador de vistas.

  2. Elija Nueva vista.

  3. En el cuadro de diálogo Seleccionar conexión u origen de datos, seleccione la opción Orígenes de datos disponibles.

    –O bien–

  • Utilice el comando CREATE SQL VIEW con la cláusula REMOTE o la cláusula CONNECTION.

Si usa la cláusula CONNECTION con el comando CREATE SQL VIEW, no necesitará incluir la palabra clave REMOTE. Visual FoxPro identifica la vista como remota por la presencia de la palabra clave CONNECTION. Por ejemplo, si tiene la tabla products de la base de datos Testdata en un servidor remoto, el código siguiente creará una vista remota de la tabla products:

OPEN DATABASE testdata 
CREATE SQL VIEW product_remote_view ; 
   CONNECTION remote_01 ;
   AS SELECT * FROM products

Puede utilizar el nombre de un origen de datos en lugar del nombre de una conexión cuando cree una vista remota. También puede elegir entre omitir el nombre de la conexión o del origen de datos remoto cuando utilice el comando CREATE SQL VIEW con la cláusula REMOTE. Visual FoxPro mostrará entonces el cuadro de diálogo Seleccionar conexión u origen de datos, en el que podrá elegir un origen de datos o una conexión válidos.

Crear una nueva vista remota

Para tener acceso a los datos remotos de una vista, puede usar una conexión existente o crear una conexión para usar la nueva vista.

Para crear una nueva vista remota

  1. Seleccione un origen de datos o una conexión y elija Aceptar.

  2. En el cuadro de diálogo de inicio de sesión de Microsoft SQL Server o en otro cuadro de diálogo de inicio de sesión, escriba su Id. de inicio de sesión y su contraseña, si es necesario.

    –O bien–

    Si previamente ha definido y guardado una conexión, seleccione la opción Conexiones.

También puede elegir Nuevo en el menú Archivo y seleccionar la opción Vista remota.

Una vez establecida la conexión aparecerá el cuadro de diálogo Abrir, que le permite seleccionar una tabla del servidor remoto.

Cuando haya seleccionado una tabla, aparecerá el Diseñador de vistas.

Para continuar con la creación de la vista remota, puede seleccionar campos de resultados y establecer filtros, igual que para una vista local.

Usar un Asistente para vistas

También puede crear una vista remota con un Asistente para vistas. Para configurar una vista actualizable mediante tablas de un origen de datos ODBC, utilice el Asistente para vistas remotas.

Para crear una vista remota con un asistente

  1. En el Administrador de proyectos, seleccione una base de datos.
  2. Seleccione Vistas remotas y elija Nuevo.
  3. Elija el botón Asistente para vistas.
  4. Siga las instrucciones de las pantallas del asistente.

Después de crear una vista, puede abrir el Diseñador de bases de datos y comprobar que la vista se muestra de la misma manera que una tabla en el esquema, con el nombre e icono de la vista en lugar del nombre e icono de la tabla.

Si combina dos o más tablas en el Diseñador de vistas remotas, el Diseñador usa combinaciones internas (o equicombinaciones) y coloca la condición de combinación en la cláusula WHERE. Si desea usar una combinación externa, el Diseñador de vistas remotas sólo proporciona combinaciones externas izquierdas, la sintaxis con la que es compatible ODBC. Si necesita combinaciones externas derechas o completas o sólo quiere usar una sintaxis nativa para una combinación externa izquierda, cree la vista mediante programación.

Vea también

Crear una vista de múltiples tablas | Mostrar los datos con las vistas | Crear consultas | Administrador de proyectos | Diseñador de conexiones | DBSETPROP( ) | SQLSETPROP( ) | Asistente para vistas remotas | Personalizar vistas