Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SQL LOGIN
|
SQL LOGIN {( entradaDatos ; nomUsuario ; contraseña ; * )} | ||||||||
Parámetro | Tipo | Descripción | ||||||
entradaDatos | Cadena |
![]() |
Nombre de publicación de base 4D o Dirección IP de la base remota o Nombre de la fuente de datos en el administrador ODBC o "" para mostrar el diálogo de selección | |||||
nomUsuario | Cadena |
![]() |
Nombre del usuario registrado en la fuente de datos | |||||
contraseña | Cadena |
![]() |
Contraseña del usuario registrado en la fuente de datos | |||||
* | Operador |
![]() |
Aplicado a Begin SQL/End SQL Si se omite: no aplicar (base de datos local); si se pasa: aplicar | |||||
El comando SQL LOGIN 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 el proceso actual:
La fuente de datos SQL puede ser:
En entradaDatos, puede pasar uno de los siguientes valores: una dirección IP, un nombre de publicación de base 4D, un nombre de fuente de datos ODBC, una cadena vacía o la constante SQL_INTERNAL.
Esta caja de diálogo incluye varias páginas. La página TCP/IP incluye los siguientes elementos:
Atención: los prefijos utilizados en el parámetro entradaDatos (IP, ODBC, 4D) deben escribirse en mayúsculas.
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 activas 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 SQL 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 SQL LOGOUT. Todas las búsquedas SQL se envían a la base 4D SQL interna.
Si llama nuevamente a SQL LOGIN sin haber cerrado explícitamente la conexión actual, la conexión se cerrará automáticamente.
Nota: en caso de falla de un intento de conexión externa vía SQL LOGIN, la base 4D interna se convierte automáticamente en la fuente de datos actual.
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.
Atención: no es posible abrir una conexión ODBC en el contexto descrito abajo. Estas configuraciones conllevan al bloqueo de la aplicación:
Esta instrucción provoca la visualización de la caja de diálogo Seleccionar origen de datos ODBC:
SQL LOGIN
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 LOGIN("ODBC:MyOracle";"Scott";"tiger";*)
Apertura de una conexión con el motor SQL interno de 4D:
SQL LOGIN(SQL_INTERNAL;$user;$password)
Apertura de una conexión directa con la aplicación 4D Server ejecutada en la máquina con 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 SQL EXECUTE se redireccionan a esta conexión; las búsquedas incluidas dentro de las etiquetas Begin SQL/End SQL no se redireccionarán
SQL LOGIN("IP:192.168.45.34";"Juan";"azerty")
Apertura de una conexión directa con la aplicación 4D Server 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 SQL 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";*)
Apertura de una conexión directa en SSL con la aplicación 4D Server ejecutada en la máquina con la dirección IP 192.168.45.34 y responder en el puerto TCP por defecto. Debe tener activado SSL para el servidor SQL en la aplicación 4D Server:
SQL LOGIN("IP:192.168.45.34:19812:ssl";"Admin";"sd156") // Note the ":ssl" after of the IP address and TCP port
Apertura de una conexión directa con la aplicación 4D Server ejecutada en la máquina que tiene la dirección IPv6 2a01: e35:2e41:c960:dc39:3eb0:f29b:3747 y responde en el puerto TCP 20150. Las consultas SQL ejecutadas a través del comando SQL EXECUTE serán redirigidas a esta conexión; Las consultas incluidas en las etiquetas Begin SQL/End SQL no se redirigirán.
SQL LOGIN("IP:[2a01:e35:2e41:c960:dc39:3eb0:f29b:3747]:20150";"John";"qwerty")
Apertura de una conexión directa con la aplicación 4D Server 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" de las Propiedades de la base) debe ser el mismo (19812 por defecto). Las búsquedas SQL ejecutadas vía el comando SQL EXECUTE se redireccionarán a esta conexión; las búsquedas incluidas dentro de las etiquetas Begin SQL/End SQL no se redireccionarán
SQL LOGIN("4D:Accounts_DB";"Juan";"azerty")
Este ejemplo muestra las posibilidades de conexión ofrecidas por el comando SQL LOGIN
ARRAY TEXT(aNombres;0)
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
SQL 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
Si la conexión es exitosa, el variable sistema OK toma el valor 1; de lo contrario, toma el valor 0.
Producto: 4D
Tema: SQL
Número
817
Modificado: 4D v11 SQL Release 3
Modificado: 4D v12
Modificado: 4D v16 R4
Manual de lenguaje 4D ( 4D v20 R7)