4D v16.3SQL LOGIN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SQL LOGIN
SQL LOGIN
La commande SQL LOGIN vous permet d’ouvrir une connexion avec une source de données SQL, définie dans le paramètre source. Elle désigne la cible des requêtes SQL exécutées ultérieurement dans le process courant :
La source de données SQL peut être soit :
Vous pouvez passer dans source l’une des valeurs suivantes : une adresse IP, un nom de publication de base 4D, un nom de source de données ODBC, une chaîne vide ou la constante SQL_INTERNAL.
Si la connexion est établie, la variable système OK prend la valeur 1. Sinon, elle prend la valeur 0 et une erreur est générée. Cette erreur peut être interceptée via une méthode de gestion d’erreurs installée par la commande APPELER SUR ERREUR.
Attention : Les préfixes utilisés dans le paramètre source (IP, ODBC, 4D) doivent être écrits en majuscules. Le paramètre utilisateur contient le nom de l’utilisateur autorisé à se connecter à la source de données externe. Par exemple, avec Oracle®, ce nom d’utilisateur peut être “Scott”. Le paramètre motDePasse contient le mot de passe de l’utilisateur autorisé à se connecter. Par exemple, avec Oracle®, ce mot de passe peut être “tiger”. Note : Dans le cas d’une connexion directe, si vous passez des chaînes vides dans les paramètres utilisateur et motDePasse, la connexion ne sera acceptée que si les mots de passe 4D ne sont pas activés dans la base cible. Sinon, la connexion est refusée. Le paramètre facultatif * permet de changer la cible du code SQL exécuté au sein des balises Debut SQL/Fin SQL. Si vous ne passez pas ce paramètre, le code placé dans les balises Debut SQL/Fin SQL sera toujours adressé au moteur SQL interne de 4D, sans tenir compte du paramétrage défini par la commande SQL LOGIN. Si vous passez ce paramètre, le code SQL exécuté au sein des balises Debut SQL/Fin SQL sera adressé à la source définie par la commande. Pour refermer la connexion courante et libérer la mémoire, il suffit d’exécuter la commande SQL LOGOUT. Toutes les requêtes SQL sont alors dirigées vers la base 4D SQL interne. Note : En cas d'échec d'une tentative de connexion externe via SQL LOGIN, la base 4D interne devient automatiquement la source de données courante. Tous les paramètres sont facultatifs. Si aucun paramètre n’est passé, la commande provoquera l’affichage de la boîte de dialogue de connexion ODBC, permettant de désigner manuellement la source de données à laquelle se connecter. La portée de cette commande est le process. Autrement dit, si vous souhaitez ouvrir deux connexions distinctes, vous devez créer deux process et ouvrir chaque connexion dans chaque process. Attention : Il n'est pas possible d'ouvrir une connexion ODBC dans les contextes décrits ci-dessous. Ces configurations conduisent au blocage de l'application :
Cette instruction provoque l’affichage de la boîte de dialogue du gestionnaire ODBC : SQL LOGIN SQL LOGIN("ODBC:MonOracle";"Scott";"tiger";*) Ouverture d'une connexion avec le moteur SQL interne de 4D : SQL LOGIN(SQL_INTERNAL;$utilisateur;$motdepasse) Ouverture d’une connexion directe avec l’application 4D Server exécutée sur le poste ayant l’adresse IP 192.168.45.34 et répondant sur le port TCP par défaut. Les requêtes SQL exécutées via la commande SQL EXECUTER seront redirigées vers cette connexion, les requêtes incluses dans les balises Debut SQL/Fin SQL ne seront pas redirigées. SQL LOGIN("IP:192.168.45.34";"John";"azerty") Ouverture d’une connexion directe avec l’application 4D Server exécutée sur le poste ayant l’adresse IP 192.168.45.34 et répondant sur le port TCP 20150. Les requêtes SQL exécutées via la commande SQL EXECUTER et les requêtes incluses dans les balises Debut SQL/Fin SQL seront redirigées vers cette connexion. SQL LOGIN("IP:192.168.45.34:20150";"John";"azerty";*) Ouverture d’une connexion directe en TLS avec l’application 4D Server exécutée sur le poste ayant l’adresse IP 192.168.45.34 et répondant sur le port TCP par défaut. TLS doit avoir été activé pour le serveur SQL sur l'application 4D Server :
SQL LOGIN("IP:192.168.45.34:19812:ssl";"Admin";"sd156") // Notez le ":ssl" après l'adresse IP et le port TCP Ouverture d’une connexion directe avec l’application 4D Server qui publie sur le réseau local une base dont le nom de publication est "DB_Compta". Le port TCP utilisé pour le serveur SQL des deux bases (défini dans la page "SQL" des Propriétés de la base) doit être identique (19812 par défaut). Les requêtes SQL exécutées via la commande SQL EXECUTER seront redirigées vers cette connexion, les requêtes incluses dans les balises Debut SQL/Fin SQL ne seront pas redirigées. SQL LOGIN("4D:DB_Compta";"John";"azerty") Cet exemple illustre les possibilités de connexion offertes par la commande SQL LOGIN : TABLEAU TEXTE(aNames;0) Si la connexion est correctement établie, la variable système OK prend la valeur 1, sinon elle prend la valeur 0.
Voir aussi
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Modifié : 4D v11 SQL Release 3 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||