SQL LOGIN

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11.3 (Modificado)


SQL LOGIN ({entradaDatos}{; nombreUsuario{; contraseña{; *}}})

ParámetroTipoDescripción
entradaDatosCadena Nombre de la base de datos externa o
Dirección IP de la base de datos externa o
Nombre de la fuente de datos de entrada en el
administrador ODBC o
"" para mostrar la caja de diálogo de selección
nombreUsuarioCadenaNombre del usuario registrado en la fuente de datos
contraseñaCadenaContraseña del usuario registrado en la fuente de datos
**Aplicado a Begin SQL/End SQL
Si se omite: no aplicar (base de datos local); si se pasa: aplicar

Descripción

El comando SQL LOGIN le permite conectarse a una fuente de datos ODBC externa o al motor SQL interno de 4D.

Nota: el estándar ODBC (Open DataBaseConnectivity) define una librería de funciones estándar. Estas funciones permiten a una aplicación como 4D acceder utilizando el lenguaje SQL a toda fuente de datos compatible con ODBC (bases de datos, hojas de cálculo, etc.).

El parámetro entradaDatos contiene el nombre de la fuente de datos introducido en el administrador ODBC.

Para abrir una conexión con el motor SQL interno de 4D, pase la constante SQL_INTERNAL en el parámetro entradaDatos .

Nota: no es necesario abrir una conexión utilizando este comando si intenta acceder al entorno SQL de 4D a través de las palabras claves Begin SQL/End SQL o el comando QUERY BY SQL. La conexión debe inicializarse sólo para utilizar los otros comandos ODBC de 4D.

El comando ODBC LOGIN le permite conectarse a una fuente de datos SQL especificada en el parámetro entradaDatos y designa el objetivo de las búsquedas SQL ejecutadas posteriormente en la aplicación:

vía el comando SQL EXECUTE,

vía el código ubicado dentro de las etiquetas Begin SQL / End SQL (si se pasa el parámetro *).

La fuente de datos SQL puede ser:

una base de datos 4D Server externa a la que usted accede directamente,

una fuene de datos ODBC externa,

el motor SQL interno.

En entradaDatos, puede pasar uno de los siguientes valores: una dirección IP, un nombre de publicación de base de datos 4D, un nombre de fuente de datos ODBC, una cadena vacía o la constantes SQL_INTERNAL.

Dirección IP

Sintaxis: IP:<IPAddress>{:<TCPPort>}

En este caso, el comando abre una conexión directa con la base de datos 4D Server ejecutada en la máquina con la dirección IP especificada. En la máquina "objetivo", el servidor SQL debe ser iniciado. Si pasa un número de puerto TCP, debe haber sido especificado como el puerto de publicación del servidor SQL en la base "objetivo". Si no pasa el número de puerto TCP, se utilizará el número de puerto por defecto (19812). El número de puerto TCP del servidor SQL puede modificarse en la página "SQL/Configuración" de las Preferencias de la aplicación.

Consulte los ejemplos 1 y 2.

Nombre de la publicación de la base 4D

Sintaxis: 4D:<Publication_Name>

En este caso, el comando abre una conexión directa con la base 4D Server cuyo nombre de publicación en la red corresponde al nombre especificado. El nombre de la publicación de red de una base se define en la página "Cliente-Servidor/Configuración" de las Preferencias de la aplicación.

Consulte el ejemplo 4.

Nota: el número de puerto TCP del servidor 4D SQL objetivo (que publica la base de datos 4D) y el número de puerto TCP del servidor SQL de la aplicación 4D que abre la conexión debe ser el mismo.

nombre de fuente de datos ODBC válido

Sintaxis: ODBC:<My_DSN> or <My_DSN>

En este caso, el parámetro entradaDatos contiene el nombre de la fuente de datos como ha sido definida en el administrador del driver ODBC.

Nota: por razones de compatibilidad con versiones anteriores de 4D, es posible omitir el prefijo "ODBC:". Sin embargo, por razones de legibilidad del código, se recomienda utilizar este prefijo.

Consulte el ejemplo 4.

cadena vacía

Sintaxis: ""

En este caso, el comando muestra la caja de diálogo de conexión de manera que la fuente de datos a conectar pueda introducirse manualmente:

Esta caja de diálogo incluye varias páginas. La página TCP/IP incluye los siguientes elementos:

* Nombre de objetivo: este menú se crea utilizando dos listas:

- La lista de bases de datos que se han abierto recientemente en conexión directa. El mecanismo para actualizar esta lista es el mismo que el de la aplicación 4D Developer, excepto que la carpeta que contiene los archivos .4DLink se llama "Favorites SQL v11" en lugar de "Favorites v11".

- La lista de aplicaciones 4D Server cuyo servidor SQL se inicia y cuyo puerto TCP para las conexiones SQL es el mismo que para la aplicación fuente. Esta lista se actualiza dinámicamente en cada nueva llamada al comando SQL LOGIN sin el parámetro entradaDatos. Si el carácter "^" se ubica antes de un nombre de la base, indica que la conexión ha sido realizada en modo seguro vía SSL.

* Dirección de red: esta área muestra la dirección IP y posiblemente el puerto TCP de la base seleccionada en el menú Nombre de objetivo. También puede introducir una dirección IP en esta área y luego hacer clic en el botón de conexión para conectar la base 4D Server correspondiente. También puede especificar el puerto TCP introduciendo dos puntos (:) seguidos por el número de puerto después de la dirección. Por ejemplo: 192.168.93.105:19855

* Nombre de usuario y Contraseña: estas áreas pueden utilizarse para introducir los identificadores de conexión.

* Las páginas DSN de usuario y DSN de sistema muestran, respectivamente, la lista de usuario y fuentes de datos ODBC del sistema en el driver ODBC de la máquina. Estas páginas pueden utilizarse para seleccionar una fuente de datos e introducir identificadores para abrir una conexión con una fuente de datos externa ODBC.

Si se establece la conexión, la variable sistema OK toma el valor 1. De lo contrario, toma el valor 0 y se genera un error. Este error puede interceptarse vía un método de gestión de errores instalado por el comando ON ERR CALL.

Constante SQL_INTERNAL

Sintaxis: SQL_INTERNAL

En este caso, el comando redirecciona las búsquedas SQL posteriores al motor SQL interno de la base.

nombreUsuario contiene el nombre del usuario autorizado a conectarse a la fuente de datos externa. Por ejemplo, con Oracle®, el nombre de usuario puede ser "Samuel".

contraseña contiene la contraseña del usuario autorizado a conectarse a la fuente de datos externos. Por ejemplo, conOracle®, la contraseña puede ser "tiger".

Nota: en el caso de una conexión directa, si pasa una cadena vacía en los parámetros nombreUsuario y contraseña, la conexión sólo se aceptará si las contraseñas 4D no están activadas en la base objetivo. De lo contrario, la conexión se rechazará.

El parámetro opcional * puede utilizarse para cambiar el objetivo del código SQL ejecutado dentro de las etiquetas Begin SQL/End SQL. Si no pasa este parámetro, el código ubicado dentro de las etiquetas Begin SQL/End SQL aún se enviará al motor SQL interno de 4D, sin tener en cuenta la configuración especificada por el comando ODBC LOGIN. Si pasa este parámetro, el código SQL ejecutado dentro de las etiquetas Begin SQL/End SQL se enviará a la fuente especificada en el parámetro entradaDatos.

Para cerrar la conexión actual y liberar la memoria, simplemente ejecute el comando ODBC LOGOUT. Todas las búsquedas SQL se envían al motor SQL interno de la base.

Si llama SQL LOGIN nuevamente sin haber cerrado explicítamente la conexión actual, la conexión se cerrará automáticamente.

Estos parámetros son opcionales; si no se pasa ningún parámetro, el comando produce la visualización de la caja de diálogo Seleccionar origen de datos ODBC, que le permite seleccionar la fuente de datos externos:

El alcance de este comando es el proceso; en otras palabras, si quiere ejecutar dos conexiones distintas, debe crear dos procesos y ejecutar cada conexión en cada proceso.

Ejemplos

1. Esta instrucción provoca la visualización de la caja de diálogo Seleccionar origen de datos ODBC:

   SQL LOGIN 

2. Apertura de una conexión vía el protocolo ODBC con la fuente de datos externa "MyOracle". Las búsquedas SQL ejecutadas vía el comando

 
SQL EXECUTE
 y
búsquedas incluidas dentro de las etiquetas
 
Begin SQL
/
End SQL
 
se redireccionará para esta conexión. Esta instrucción conectará la fuente de datos ODBC llamada "MyOracle" utilizando Scott/tiger como nombre/contraseña:

   SQL LOGIN("ODBC:MyOracle";"Scott";"tiger";*)

3. Apertura de una conexión con el motor SQL interno de 4D:

   SQL LOGIN(SQL_INTERNAL;$user;$password)

4. La apertura de una conexión directa con la aplicación 4D Server v11 SQL ejecutada en la máquina que tiene la dirección IP 192.168.45.34 y respondiendo en el puerto TCP por defecto. Las búsquedas SQL ejecutadas vía el comando ODBC EXECUTE se redireccionan a esta conexión; las búsquedas incluidas dentro de las etiquetas Begin SQL/End SQL no serán redireccionadas

. 
   SQL LOGIN ("IP:192.168.45.34";"Juan";"azerty")

5.
Apertura de una conexión directa con la aplicación 4D Server v11 SQL ejecutada en la máquina con la dirección IP 192.168.45.34 y respondiendo al puerto TCP 20150. Las búsquedas SQL ejecutadas vía el comando ODBC EXECUTE y las búsquedas incluidas dentro de las etiquetas Begin SQL/End SQL se redireccionarán a esta conexión
. 
   SQL LOGIN ("IP:192.168.45.34:20150";"Juan";"azerty";*)

6. 
Apertura de una conexión directa con la aplicación 4D Server v11 SQL que publica, en la red local, una base cuyo nombre de publicación es "Accounts_DB." El puerto TCP utilizado por el servidor SQL de ambas bases (definido en la página SQL/Configuración de las Preferencias) debe ser el mismo (19812 por defecto). Las búsquedas SQL ejecutadas vía el comando ODBC EXECUTE serán redireccionadas a esta conexión; las búsquedas incluidas dentro de las etiquetas Begin SQL/End SQL no serán redireccionadas
. 
   SQL LOGIN ("4D:Accounts_DB";"Juan";"azerty")

7.
Este ejemplo muestra las posibilidades de conexión ofrecidas por el comando SQL LOGIN
:
   ARRAY TEXT (30;aNombres)
   ARRAY LONGINT(aEdades;0)
   SQL LOGIN ("ODBC:MyORACLE";"Marc";"azerty")
   If(OK=1)
         `La siguiente búsqueda se redireccionará a la base de datos ORACLE externa
      ODBC EXECUTE("SELECT Nombre, edad FROM PERSONS";aNombres; aEdades)
         `La siguiente búsqueda se enviará a la base de datos 4D local
      Begin SQL
         SELECT Nombre, Edad 
         FROM PERSONS
         INTO :aNombres, :aEdades;
      End SQL
         `El siguiente comando SQL LOGIN cierra la conexión actual
         `con la base de datos ORACLE externa y abre una nueva conexión
         `con una base de datos MySQL externa
      SQL LOGIN  ("ODBC:MySQL";"Juan";"qwerty";*)
      If(OK=1)
            `La siguiente búsqueda será redireccionada a la base de datos MySQL externa
         SQL EXECUTE("SELECT Nombre, Edad FROM PERSONS";aNombres; aEdades)
            `La siguiente búsqueda también será redireccionada a la base de datos MySQL externa
         Begin SQL
            SELECT Nombre, Edad 
            FROM PERSONS
            INTO :aNombres, :aEdades;
         End SQL
         SQL LOGOUT
            `La siguiente búsqueda se enviará a la base de datos 4D local
         Begin SQL
            SELECT Nombre, Edad 
            FROM PERSONS
            INTO :aNombres, :aEdades;
         End SQL
      End if
   End if

Ver también

Begin SQL, End SQL, SQL LOGOUT.

Variables y conjuntos sistema

Si la conexión es exitosa, el variable sistema OK toma el valor 1; de lo contrario, toma el valor 0.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente