Guide d'utilisation Database Connector 2 2 Guide d’utilisation Concerne les produits suivants : Réf. article Désignation 5580210 Port Ethernet Database Connector 5580212 Database Connector Edition: 03/2009 Droits d’auteur Cette documentation ainsi que sa traduction sont la propriété de cab. Tout usage, représentation, reproduction ou traduction de ce manuel, intégral ou partiel à d’autres fins que celles initialement prévues, nécessite au préalable une autorisation écrite de cab. Rédaction Pour vos questions ou suggestions veuillez vous adresser à cab technologies. Actualité Par l’évolution permanente, des différences peuvent survenir entre la documentation et le matériel. La version actuelle est disponible sur le site internet : www.cab-technologies.fr Conditions générales Les livraisons et prestations sont soumises aux « Conditions Générales de Vente » de cab. France cab technologies s.a.r.l. Z.A. Nord du Val de Moder F-67350 Niedermodern Téléphone +33 388 722 501 www.cab-technologies.fr [email protected] USA cab Technology Inc. 87 Progress Avenue Unit #1 Tyngsboro MA, 01879 Phone +1 978 649 0293 www.cabtechn.com [email protected] www.cab.de [email protected] Espagne cab España S.L. Josep Pla 9, 6°, 2a E-08304 Mataró (Barcelona) Teléfono +34 937 414 605 [email protected] Afrique du sud cab Technology (Pty.) Ltd. 14, Republic Road 2125 Randburg Phone +27 11-886-3580 [email protected] © Copyright par cab D’autres adresses de représentations cab sont disponibles sur simple demande. Allemagne cab Produkttechnik GmbH & Co KG Postfach 1904 D-76007 Karlsruhe Wilhelm-Schickard-Str. 14 D-76131 Karlsruhe Telefon +49 721 6626-0 Telefax +49 721 6626-249 Asie !ࢸ!ٳϷ!ϴ!ѧ הདྷШऋӋԤ३ϴѧ cab Technology Co, Ltd. ѮᢊѮѕᑪݖᐝѿҕҡၯΙࢲ! Panchiao 220,Taipei,Taiwan Ⴋၗ Phone +886 2 2950-9185 ᆩ֭!www.cabasia.net ၚ୰[email protected] Chine ྃᜥ 㺔ᣧĩམᗽĪዦᔑྜဏ! cab (Shanghai) Trading Co.,Ltd ΰѿ۽Ԋՙၯ2299ᯜ11C60Ᏹ ᱓᯿ġPhone +86 21 6236-3161 ၚ୰[email protected]ġ 3 3 Sommaire 1 Présentation ..................................................................................................................................................... 4 2 2.1 2.2 Fonctionnement ............................................................................................................................................... 5 Schéma de fonctionnement de Database Connector Etendu ........................................................................... 5 Schéma de fonctionnement en mode asservi ................................................................................................... 6 3 3.1 3.2 Installation ........................................................................................................................................................ 7 Installation du client ........................................................................................................................................... 7 Installation du serveur ........................................................................................................................................ 7 4 4.1 4.2 4.2.1 4.2.2 4.3 4.4 Configuration .................................................................................................................................................. 10 Fonctionnement de base ................................................................................................................................. 10 Synchronisation de périphériques ................................................................................................................... 11 Ajout d’un périphérique maître......................................................................................................................... 12 Ajout d’un périphérique esclave ...................................................................................................................... 13 Syntaxe spécifique ........................................................................................................................................... 14 Enregistrement des évènements ..................................................................................................................... 15 5 5.1 5.2 5.3 Création d’une étiquette avec cablabel / codesoft ..................................................................................... 16 Activation de l’option Database Connector ..................................................................................................... 16 Création d’une requête .................................................................................................................................... 17 Création d’une variable avec le résultat d’une requête ................................................................................... 18 6 6.1 6.2 Création d’une étiquette en programmation directe JScript ..................................................................... 19 Liste des commandes ...................................................................................................................................... 19 Exemple ........................................................................................................................................................... 20 4 1 Présentation Database Connector est un module permettant aux imprimantes cab d’accéder directement à des bases de données externes via TCP/IP. Il est possible, pour une même étiquette, d’accéder simultanément à plusieurs tables dans la base. De même plusieurs imprimantes accèdent à la même base de données et ceci simultanément, assurant ainsi la cohérence des données. Il permet d’accéder à n’importe quel type de base de données via un driver ODBC (Open Database Connectivity) ou ADO (ActiveX Data Object). Les bases de données les plus courantes sont : - Access - SQL Server - Oracle - DBase - Informix - Paradox - Foxpro - ... Database Connector est composé de deux modules distincts : - SQLClient intégré dans l’imprimante. - Le module serveur installé sur un PC. ! Pour pouvoir utiliser Database Connector, SQLClient doit avoir été préalablement activé sur l’imprimante. Pour les modèles d’imprimantes des Séries A / Hermes A, SQLClient se présente sous la forme d’une carte ethernet spécifique. Pour les modèles d’imprimantes des Séries A+ / Mach4 / PX / XD4, SQL client se présente sous la forme d’une simple activation logicielle. 4 5 2 Fonctionnement 2.1 Schéma de fonctionnement de Database Connector Etendu 5 Chargement du masque 4 9 Retour de la réponse vers SQL Client Remote Trigger SQL Client 10 Õ Ö Informations demandées par l’imprimante 1. Remote Trigger 2. SQL Client 1 6 Impression de l’étiquette Õ Ö 5 DBServer effectue une requête sur la base de données 2 7 Réponse de la base de données 3 SGBD Remote Trigger : fonction permettant de récupérer le masque et la quantité à imprimer à partir d’un OF. SQL Client : fonction permettant de récupérer toutes les informations nécessaires à l’impression dans la base de données. 8 6 6 2 Fonctionnement 2.2 Schéma de fonctionnement en mode asservi Ù DB Connector / Log Service Requêtes Réponse Trame synchronisée Base de données 7 3 Installation 3.1 Installation de la partie client sur l’imprimante a) Pour les imprimantes des Séries A / Hermes A Il vous suffit de monter la carte réseau additionnelle à l’arrière de l’imprimante. b) Pour les imprimantes des Séries A+ / Mach4 / PX / XD4 Il faut procéder à l’activation du module Database Connector grâce à un fichier PPP qui vous sera fournit lors de l’achat de Database Connector. Cette activation s’effectue comme une mise à jour de firmware. Pour cela vous pouvez soit utiliser l’utilitaire de mise à jour « cabFirmwareUpdater » en choisissant le type de mise à jour PPP et en sélectionnant le port où est connectée l’imprimante, ou alors consulter la procédure de mise à jour disponible sur notre site internet : www.cab-technologies.fr (rubrique Support & Téléchargements) Vous pouvez vérifier si l’activation s’est faite à travers le menu « PPP => Statut court PPP » de l’imprimante. 3.2 Installation de la partie serveur sur le PC La partie serveur de Database Connector doit être installée sur un PC qui fera office de serveur et qui permettra la connexion à la base de données. Insérer le CD-Rom qui vous a été fourni dans votre ordinateur. L’installation devrait démarrer automatiquement. Si cela n’était pas le cas, double-cliquez sur le programme « Setup.exe » situé à la racine du CD. Sélectionnez la langue d’installation du programme. Si le service de log n’est pas installé, son installation va démarrer avant l’installation de Database Connector. Ce service permet d’enregistrer tous les évènements relatifs à Database Connector. Il va permettre de vérifier les éventuelles erreurs et le cas échéant de pouvoir les corriger. 7 8 3 Installation Démarrage de l’installation et saisie des informations relatives à l’utilisateur du programme. Choisissez le dossier d’installation du programme puis le dossier du menu démarrer. Sélectionnez les tâches supplémentaires à réaliser par le programme d’installation puis vérifiez le résumé des options sélectionnées. 8 9 3 Installation Progression de l’installation Fin de l’installation. 9 10 4 Configuration 4.1 Fonctionnement de base L’onglet « Général » permet de sélectionner la chaîne de connexion à la base de données, le port utilisé par Database Connector ainsi que les paramètres relatifs à l’enregistrement des logs. Le démarrage et l’arrêt du service se font à l’aide du bouton situé à côté du statut. ! Si vous avez un pare-feu (firewall) sur votre ordinateur, il faut spécifiquement autoriser l’accès au port utilisé par Database Connector (par défaut 1001). Si le port reste fermé le programme ne fonctionnera pas. Choix du fournisseur pour la connexion à la base de données, suivant le type de base. 10 11 4 Configuration 4.2 Synchronisation de périphériques En dehors de l’utilisation classique de DB connector, il est possible de synchroniser un ou plusieurs périphériques par rapport à un périphérique maître. Le périphérique maître est obligatoirement une imprimante cab dotée de l’option database connector. Les périphériques associés ne sont pas nécessairement des imprimantes cab. Pour pouvoir utiliser un périphérique non cab, il faut connaître la syntaxe de commande de ce périphérique et que celui-ci soit accessible via TCP/IP. Il est également à noter que cette syntaxe de commande doit pouvoir être stockée en base de données ou en fichier et de ce fait rester en relation avec ce type d’utilisation (volume échangé, temps d’exécution de l’impression...). Par exemple, les flux PCL ou Postscripts ne sont pas trop indiqués pour ce type d’utilisation. Il est également possible de créer plusieurs associations. Un périphérique esclave cab utilisé en association peut toujours être utilisé de manière autonome. Un périphérique esclave voit son travail d’impression lié à celui du maître, mais le périphérique esclave peut également exécuter une requête Database Connector (à condition qu’il possède également cette option). Configuration des associations La configuration des associations se fait dans l’onglet « association imprimantes ». 11 12 4 Configuration 4.2.1 Ajout d’un périphérique maître Il faut dans un premier temps déclarer le périphérique maître. Pour cela il faut cliquer sur le bouton « + » au bas du tableau Maître pour insérer un nouvel enregistrement. Description Adresse Port Mode ligne sert simplement à nommer le périphérique maître. adresse IP du périphérique maître. port IP du périphérique maître (9100 par défaut). désactivé par défaut, n’est utilisé que dans des cas très particuliers. Quantité d’étiquettes non documenté pour le moment Lorsque la configuration du périphérique maître est validée, il est alors possible de définir un où plusieurs périphériques associées. La validation de la configuration se fait à l’aide de la coche verte et l’annulation avec la croix rouge. 12 13 13 4 Configuration 4.2.2 Ajout d’un périphérique esclave Pour ajouter un périphérique esclave il suffit de cliquer sur le bouton « + » au bas du tableau Esclave (partie droite). i Il n’est pas possible d’ajouter un périphérique esclave si un périphérique maître n’a pas été préalablement définit. Activer l’impression esclave Description Adresse Port Priorité active / désactive l’association pour ce périphérique. permet, par exemple, l’inactivation temporaire d’une association nom du périphérique esclave adresse IP du périphérique esclave port IP du périphérique esclave influence la priorité de traitement des tâches d’impression permet d’influencer légèrement le débit des données entre les périphériques les valeurs usuelles sont « normale » ou « inférieure à la normale » les autres valeurs sont à réserver aux cas particuliers Onglet « Périphérique » Attente avant l’envoi des données valeur en millisecondes, permettant de légèrement décaler l’impression Avant la tâche séquence à envoyer avant la tâche d’impression, n’est exécuté qu’une fois par job d’impression. Voir chapitre 3.3 pour les détails de syntaxe Préfixe séquence insérée avant chaque envoi de trame Séparateur de ligne utilisé comme séparateur de ligne. Si vide c’est la séquence CRLF qui est utilisée Suffixe séquence ajoutée à la fin de chaque trame Avant déconnexion séquence envoyée entre la fin du travail d’impression et la déconnexion Onglet « Base de données » La définition de l’impression envoyée au périphérique esclave peut être soit stockée dans un champ de base de données, soit dans un fichier. En fonction de l’option choisie, il faudra soit définir la requête permettant de récupérer la séquence, soit définir le chemin du fichier. Il est également possible d’intégrer des variables, aussi bien pour la requête que dans le fichier. Pour définir une variable il suffit d’utiliser la syntaxe suivante : <#NomDeVariable> ! Il est absolument nécessaire que cette variable corresponde à un nom de champ et que ce nom de champ soit définit dans le masque de l’imprimante maître, même si le périphérique maître n’utilise pas lui-même ce champ ! 14 4 Configuration 4.3 Syntaxe spécifique 14 Les séquences utilisées par les périphériques incluent généralement des caractères non disponibles au clavier. Pour spécifier ces caractères un codage spécifique est utilisé : \a Bip \b Retour arrière \f Form feed \n Line feed \r Retour chariot \t Tabulation \v Tabulation verticale \\ \ \’’ ’’ \’ ’ \? ? \xnn Séquence hexadécimale ’nn’ représente le caractère sous forme hexadécimale \0...\7 Séquence octale Ce codage est utilisé pour les champs suivants : Avant la tâche, Avant déconnexion, Séparateur de ligne, Préfixe, Suffixe. Exemple d’utilisation : \x1bc\r\n équivaut à ESCc + CR + LF 15 4 Configuration 4.4 Enregistrement des évènements Database Connector enregistre chaque action effectuée. Cela permet notamment d’avoir un historique en cas de problème ou d’erreur et ainsi d’en retrouver plus facilement la cause. Toutes ces actions sont inscrites directement dans l’observateur d’évènements de Windows. Il suffit donc de démarrer l’observateur d’évènements (Panneau de configuration => Outils d’administration => Observateur d’évènements) pour consulter cet historique. 15 16 5 Création d’une étiquette à partir de cablabel / codesoft Les étiquettes utilisant Database Connector peuvent être réalisées directement avec les logiciels d’étiquetages cablabel ou codesoft. ! 5.1 Seul cablabel R2 Pro, codesoft Pro et Entreprise permettent d’utiliser Database Connector. Database Connector ne fonctionne qu’avec les imprimantes natives et ne fonctionne pas avec les pilotes Windows. Activation de l’option Database Connector Il suffit d’utiliser une imprimante native puis d’activer l’option Database Connector dans la configuration de l’imprimante en saisissant l’adresse IP du PC où est installé la partie serveur. Une fois l’adresse IP du serveur saisie, il va falloir créer la ou les requêtes. Dans les exemples suivants nous reprendrons la table ci-dessous. 16 17 5 Création d’une étiquette à partir de cablabel / codesoft 5.2 Création d’une requête Pour la création des requêtes il faut utiliser les variables libres de cablabel / codesoft. Une fois la variable créée, placez-la sur l’étiquette en tant que texte. En faisant un clique droit sur ce texte vous pouvez maintenant accéder à l’option « Options spécifiques ». C’est dans les Options spécifiques de la variable libre que vous pouvez activer Database Connector et sélectionner le type de variable (requête ou variable avec le résultat d’une requête). En choisissant « Requête » on peut alors saisir directement la requête SQL. Exemple : SELECT * FROM Products WHERE ArtCode = {CodeArt} Si l’on a besoin d’utiliser une variable issue de l’étiquette, il suffit d’utiliser le nom de cette variable en l’encadrant avec des accolades {} et avec des guillemets simples s’il s’agit d’une chaîne de caractères. Exemple : i {CodeArt} pour une variable représentant un entier dans la base de données ’{CodeArt}’ pour une variable représentant une chaîne de caractères dans la base de données Vous pouvez également rendre cette variable invisible grâce à l’option « Objet invisible à l’impression » si vous ne souhaitez pas qu’elle apparaisse sur l’étiquette imprimée, ce qui sera très souvent le cas. 17 18 5 Création d’une étiquette à partir de cablabel / codesoft 5.3 Création d’une variable avec le résultat d’une requête Pour la création d’une variable avec le résultat d’une requête il faut toujours encore utiliser les variables libres de cablabel / codesoft. Une fois la variable créée, placez-la sur l’étiquette en tant que texte / code à barres ou image. En faisant un clique droit sur ce texte / code à barres / image vous pouvez maintenant accéder à l’option « options spécifiques ». C’est toujours dans les Options spécifiques de la variable libre que l’on peut récupérer le résultat d’une requête SQL en choisissant cette fois l’option « Variables ». Il suffit alors de reprendre le nom de la variable libre contenant la requête SQL et de rajouter, séparé par une virgule, l’index du champ que l’on veut récupérer. L’index du premier champ résultat est toujours 1. Si l’on reprend notre table et notre requête précédente, l’index 1 représente donc le champ Artcode, l’index 2 le champ Barcode, l’index 3 le champ ProdNameUs ... Exemple : Requete1,7 Requete1 est le nom donné à la variable libre qui contient la requête SQL. 7 est l’index du champ issue de la base de données (dans notre exemple le champ ProdNameIt) 18 19 6 Création d’une étiquette en programmation directe JScript 6.1 Liste des commandes Ci-dessous la liste des commandes JScript spécifiques à l’utilisation de Database Connector. Pour plus d’informations consultez notre manuel de programmation disponible sur notre site internet. 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 après la commande «S» pour la taille d’étiquette. Server_IP : adresse IP du serveur Database Connector. Server_Port : port du serveur 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. [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 ou le champ ArtCode est égal au code article saisi par l’opérateur. [SQLLOG:Query] Même fonction que la fonction [SQL:Query], sauf que SQLLOG est exécuté seulement à l’impression de l’étiquette. Ceci permet de faire un logging dans la base de données. 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] [SPLIT:Result,Index] Cette commande vient se rajouter derrière un champ texte ou code à barre. 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». i Pour plus d’informations sur la programmation directe, vous pouvez consulter notre manuel de programmation disponible sur notre site internet. 19 20 6 Création d’une étiquette en programmation directe JScript 6.2 Exemple complet L’exemple suivant est distribué avec Database Connector. Vous pourrez le retrouver dans le dossier nommé « Exemples » qui se trouve dans le dossier d’installation du programme. (par défaut C:\Program Files\cab technologies\Database Connector\Exemples) Il s’utilise avec la base Access située dans le même dossier. mm zO J O R,S,P H100,0,T D 0.0,0.0 Sl1;0.0,0.0,42.0,42.0,100.0,100.0,1 E SQL;192.168.10.32:1001 T:CodeArt;25.3,4.7,0,5,3.2,q100;[?:Code article ?,2,,,L200] T1.5,4.7,0,5,3.2,q100;Code article : T2.5,13.8,0,3,3.57,q100;Product: T2.5,19.0,0,3,3.57,q100;Produit : T2.5,23.9,0,3,3.57,q100;Produkt: T56.6,12.7,0,3,3.57,q100;Quantité : T56.6,18.5,0,3,3.57,q100;Poids : T:Requete;40.8,5.3,0,3,3.57,q100;[SQL:SELECT * FROM Products WHERE ArtCode={CodeArt}][I] T:Update;57.4,5.3,0,3,3.57,q100;[SQL:UPDATE Products SET LastPrinted=’{Date0}’ WHERE ArtCode={CodeArt}][I] T:Insert;72.2,5.3,0,3,3.57,q100;[SQL:INSERT INTO PRINT (ArtCode,PrintDate) VALUES ({CodeArt}, ‘{Date0}’)][I] B:Barcode;35.8,28.0,0,CODE128,12.6,0.25;[SPLIT:Requete,2] T:Product;23.1,13.8,0,3,3.57,q100;[SPLIT:Requete,3] T:Produit;23.1,19.0,0,3,3.57,q100;[SPLIT:Requete,4] T:Produkt;23.1,23.9,0,3,3.57,q100;[SPLIT:Requete,5] T:Quantite;76.1,12.7,0,3,3.57,q100;[SPLIT:Requete,11] T:Poids;84.0,5.3,0,3,3.57,q100;[SPLIT:Requete,12][I] T:Date0;3.1,39.1,0,3,3.57,q100;[DAY02]/[MONTH02]/[YYYY] T:Formule0;76.1,18.5,0,3,3.57,q100;[*:Poids,1][D:4,1][R:m] A [?] 20