Database Connector
Database Connector
•
•
•
•
•
Database Connector est une option permettant aux imprimantes cab
d'accéder directement à des bases de données externes via une connexion
réseau TCP/IP.
Il est possible d'accéder simultanément à plusieurs tables pour une même
étiquette.
Plus de problèmes de mise à jour de la base de données sur la carte
compact flash.
Bien plus rapide que l'accès aux données de la carte compact flash.
Plusieurs imprimantes accèdent à la même base de données et ceci
simultanément cohérence des données.
L’accès aux bases de données en mode autonome.
Database Connector
Database Connector est composé de 2 modules :
SQLClient, intégré dans l'imprimante et disponible sous forme
d’activation logicielle.
Database Connector, le module externe installé sur un PC et qui
permet le lien avec la base de données.
L’accès aux bases de données en mode autonome.
Database Connector
Principes :
•
•
•
•
SQLClient se connecte via TCP/IP à Database Connector et envoi une
requête SQL.
Database Connector reçoit cette demande et transmet cette demande
à la base de données via le driver ODBC ou via ADO.
Database Connector reçoit une réponse de la base de données.
Database Connector retourne la réponse vers l'imprimante toujours via
TCP/IP.
L’accès aux bases de données en mode autonome.
Schématisation des flux (standard)
Database Connector
Quelles bases de données ?
•
•
Database Connector permet d'accéder à n'importe quelle base de données
via un driver ODBC (Open Database Connectivity) ou un driver ADO
(ActiveX Data Object).
Sur la base ODBC et ADO les plus courantes sont :
Access
SQL Server
Oracle
DBase
Informix
Paradox
Foxpro
Etc...
L’accès aux bases de données en mode autonome.
Database Connector
Et en pratique ?
Base de
données
Database Connector
Paramétrage
Port IP
Chaîne de
connexion
L’accès aux bases de données en mode autonome.
Database Connector
E SQL;Server_IP:Server_Port
Permet d’activer Database Connector en spécifiant l’adresse IP et le port du serveur.
Cette commande est à rajouter au début du fichier , généralement après la commande «S» de définition
de la taille d’étiquette.
Server_IP : adresse IP de l’ordinateur où est installée la partie serveur de Database Connector.
Server_Port : port de l’ordinateur où est installée la partie serveur de Database Connector.
Exemple
E SQL;192.168.10.32:1001
Dans l’exemple l’adresse IP du serveur est 192.168.10.32 et le port 1001.
L’accès aux bases de données en mode autonome.
Database Connector
[SQL:Query]
Cette commande vient se rajouter derrière un champ texte ou code à barre.
La commande «E SQL...» doit bien sûr avoir été spécifiée précédemment.
Query : n’importe quelle requête SQL.
Exemple
T:Requete;10,15,0,3,5;[SQL:SELECT * FROM Products
WHERE ArtCode={CodeArt}]
Sélectionne tous les champs de la table Products où le champ ArtCode est égal au code article
saisi par l’opérateur.
L’accès aux bases de données en mode autonome.
Database Connector
[SQLLOG:Query]
Même fonction que la fonction [SQL:Query], sauf que SQLLOG est exécuté seulement lorsque l’étiquette
à été imprimée sans erreur.
Ceci permet de faire un logging dans la base de données par exemple. (journal d’impression)
Query :
n’importe quelle requête SQL.
Exemple
T;57.4,5.3,0,3,3.57,q100;[SQLLOG:UPDATE Products
SET LastPrinted=’{Hour0}’ WHERE ArtCode={CodeArt}][I]
L’accès aux bases de données en mode autonome.
Database Connector
[SPLIT:Result,Index]
Cette commande vient se rajouter derrière un champ texte ou code à barres.
Result :
nom du champ où est stocké le résultat de la requête.
Index :
index du champ de la requête à récupérer (1 est le premier champ).
Exemple
T:Product;23.1,13.8,0,3,3.57,q100;[SPLIT:Requete,3]
Dans l’exemple on récupère le troisième champ de la requête « Requete ».
L’accès aux bases de données en mode autonome.
Exemple concret
Ouvrir le fichier Ex1.lbl avec le bloc-notes
mm
J
O R,S,P
S: Single buffer
H100,0,T
Sl1;0.0,0.0,100.0,103.0,65.0,65.0,1
E SQL;192.168.1.1:1001
Connexion au serveur, IP 192.168.1.1, port 1001
T:CodeArt;0.7,1.2,270,3,2.59,q100;[?:Ref Article,11689,,L5,R,J]
prompt (saisie opérateur)
T:Requete;55.6,106.4,270,3,3.42,q100;[SQL:SELECT
Modele_Arpa,Tension,Puissance,Logo_Client,Code_Barre1 FROM ETI WHERE
Code_Article='{CodeArt}'][I]
requête SQL
T:ModeleArpa;10,25.0,0,5,10,q100;[SPLIT:Requete,1]
récupération champ n°1
B:CodeBarre1;10,60.0,0,EAN13,16.5,0.42;[SPLIT:Requete,5]
récupération champ n°5
T:Texte1;10,35,0,5,5.34,q100;[SPLIT:Requete,2]
récupération champ n°2
T:Texte2;10,41,0,5,5.34,q100;[SPLIT:Requete,3]
récupération champ n°3
T:LogoCli;10,10,270,5,5.34,q100;[SPLIT:Requete,4][I]
récupération champ n°4 (image)
I50,2,0,1,1,a;[LogoCli]
image en chargement automatique !
I2,80,0,1,1,a;[LogoCli]
A [?,R]
prompt quantité d’étiquettes
Exemple concret
-
Qu’est ce qui est posté dans le journal (log) ?
-
Utilisation de l’étiquette NomImp.lbl pour nommer l’imprimante
Ajout des lignes en bleu (Ex2.lbl)
T:Requete;55.6,106.4,270,3,3.42,q100;[SQL:SELECT
Modele_Arpa,Tension,Puissance,Logo_Client,Code_Barre1 FROM ETI WHERE Code_Article='{CodeArt}'][I]
T:NomImp;10,10, 0,3,3.42,q100;[RUSER][I]
T:Journal;49.6,107.5,270,3,3.42,q100;[SQLLOG:EXECUTE INSERT_Journal '{CodeArt}', '{NomImp}'][I]
T:ModeleArpa;10,25.0,0,5,10,q100;[SPLIT:Requete,1]
B:CodeBarre1;10,60.0,0,EAN13,16.5,0.42;[SPLIT:Requete,5]
Gestion des quantités
-
Fichier Ex3.lbl comme exemple de travail
-
Configuration et définition des champs pour les quantités
Important : les champs de comparaison doivent se trouver dans la requête principale !
Associations de périphériques
Définition du ou des périphériques associés
Les associations sont théoriquement illimités
dans le nombre d’associations ainsi que dans
le nombre de périphériques associés !
A noter également: les périphériques associés
ne sont pas obligatoirement des imprimantes
cab !
Associations de périphériques
Configuration du périphérique associé :
Configuration en mode
fichier :
Une seule mise en page,
pouvant éventuellement
contenir des variables
(Voir slave1.lbl)
Important : les champs variables doivent se trouver dans la requête principale !
Associations de périphériques
Configuration du périphérique associé
Configuration en mode base de données :
Le code de la mise en page est stocké dans
la base de données.
Différentes mises en page peuvent donc être
associées à chaque code article.
La sélection du masque pour le périphérique
étant alors automatique en fonction du code
article.
Important : les champs variables doivent se trouver dans la requête principale !
Cas extrêmes…
Le périphérique associé peut lui-même être un client DBConnector !!
Slave2.lbl
mm
J
O R,S,P
H100,0,T
Sl1;0.0,0.0,100.0,103.0,65.0,65.0,1
E SQL;192.168.16.49:1001
T:Requete;55.6,106.4,270,3,3.42,q100;[SQL:SELECT
Modele_Client,Tension,Puissance,Logo1,Code_Barre1 FROM
ETI WHERE Code_Article='<#Code_Article>'][I]
T:ModeleArpa;10,25.0,0,5,10,q100;[SPLIT:Requete,1]
B:CodeBarre1;10,60.0,0,EAN13,16.5,0.42;[SPLIT:Requete,5]
T:Texte1;10,35,0,5,5.34,q100;[SPLIT:Requete,2]
T:Texte2;10,41,0,5,5.34,q100;[SPLIT:Requete,3]
T:LogoCli;10,10,270,5,5.34,q100;[SPLIT:Requete,4][I]
I50,2,0,1,1,a;[LogoCli]
I2,80,0,1,1,a;[LogoCli]
A1
Option DBConnector étendu
Une option complémentaire est disponible permettant de rajouter une étape
complémentaire côté imprimante.
Cette étape complémentaire consiste à prévoir une interaction entre l’opérateur et
l’imprimante préalablement à l’exécution de la requête, qui permet, par exemple, d’avoir
une sélection dynamique du masque également sur le périphérique maître.
On va à nouveau trouver une partie cliente
côté imprimante (collecte des informations)
-
Note : La partie cliente est personnalisée
dans la majeur partie des cas.
Côté serveur cela se résume en une
requête qui va permettre de retourner les
informations demandées.
-
Schématisation des flux (option étendu)
Cas concret d’utilisation :
récupérer la quantité à imprimer et
la mise en page à partir d’un OF
">