0.4Conectarse a una fuente de datos
Lo esencial en 30 segundos
- Database Expert = porte d'entrée : type de connexion (natif ou ODBC/OLE DB, fichier Excel/CSV), paramètres, puis tables strictement nécessaires.
- Les jointures font la justesse : plusieurs tables = lien sur un champ commun (Clients.ID = Commandes.ClientID) — sinon doublons et totaux faux.
- Le 32/64 bits bloque tout : pilote ODBC aligné sur le logiciel, identifiants non codés en dur, et filtre à la source pour la performance.
Mini-cas filé — Farès connecte ses ventes sans gonfler les totaux
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 0.4.
1. Choisir une source et des tables
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
2. Les jointures : le point crucial
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
3. Points de vigilance
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
🔎 Ejemplo concreto — 🔎 Exemple concret — Une jointure qui gonfle les totaux
Farès relie Clients et Commandes et contrôle son chiffre d'affaires.
Clients ⨝ Commandes sur Clients.ID = Commandes.ClientID.
Chaque client apparaît une fois par commande (un-à-plusieurs).
→ Sans vigilance : CA additionné sur des lignes dupliquées = FAUX.
→ Réflexe Farès : recouper avec le CA connu de la comptabilité.
Lecture : le rapport « a l'air » correct mais les totaux sont faux — l'erreur de jointure est silencieuse.
Leçon : vérifier le type de jointure (interne vs externe) et tester sur un total connu.
Vocabulario de la sección
- Source de données
- Ce à quoi Crystal Reports se connecte : bases relationnelles, fichiers (Excel, Access, CSV, XML), sources SAP.
Ejemplo sencillo: Farès se connecte à la base des ventes de l'entreprise.
Lo que no es: un dossier où l'on tape les chiffres.
Reflejo: nommer la source exacte avant tout rapport.
- ODBC / OLE DB / natif
- Modes de connexion : natif (pilote dédié, souvent plus performant) ; ODBC/OLE DB (standards universels).
Ejemplo sencillo: Farès choisit le pilote natif de sa base, plus rapide que l'ODBC générique.
Lo que no es: trois noms pour la même chose.
Reflejo: natif si disponible, sinon ODBC/OLE DB.
- Assistant de connexion (Database Expert)
- Outil pour choisir le type de connexion, fournir les paramètres et sélectionner les tables.
Ejemplo sencillo: Farès y renseigne serveur, base et identifiants, puis coche Clients et Commandes.
Lo que no es: un générateur automatique de mise en page.
Reflejo: minimum de tables, paramètres vérifiés.
- Jointures (liens entre tables)
- Relations entre tables sur un champ commun ; de mauvais liens produisent des rapports faux.
Ejemplo sencillo: Farès relie Clients.ID = Commandes.ClientID et recoupe le total.
Lo que no es: un simple tri alphabétique des tables.
Reflejo: chaque table reliée + total recoupé.
- Architecture 32/64 bits
- Une source ODBC doit correspondre à l'architecture du logiciel ; sinon « source introuvable ».
Ejemplo sencillo: Farès crée son DSN dans le bon administrateur ODBC (32 bits via SysWOW64).
Lo que no es: un détail de version sans conséquence.
Reflejo: échec de connexion → vérifier 32/64 bits d'abord.
En la práctica — En pratique — Se connecter à une source
- Ouvrez l'assistant (Database Expert) et choisissez le type, comme Farès : base (natif ou ODBC/OLE DB) ou fichier (Excel, CSV…).
- Fournissez les paramètres (serveur, base, identifiants ; ou chemin) et sélectionnez les TABLES nécessaires — le minimum utile.
- Si plusieurs tables : définissez/vérifiez les JOINTURES (champ commun) via l'Assistant de liens — étape cruciale.
- En cas d'échec, vérifiez le pilote et l'architecture 32/64 bits ; filtrez à la source pour la performance.
Script clic-par-clic — connecter + lier sans faux totaux (5 min)
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
En cas de « source introuvable », contrôlez d'abord le pilote et l'architecture 32/64 bits du DSN.
Modèle copier-coller — ma fiche de connexion fiable
Source : ___ (natif / ODBC / OLE DB / Excel / CSV).
Serveur ou chemin : ___ | Base : ___ | Compte (lecture seule) : ___.
Tables (minimum utile) : ___ + ___.
Liens : ___.ID = ___.ID | Type : [ ] interne / [ ] externe.
Contrôle : total Crystal = ___ | total connu = ___ | Écart : ___.
Bascule prod : Set Datasource Location test → prod le ___.
Base SQL Server
Farès se connecte en natif à SQL Server : serveur, base, compte lecture seule — puis Clients + Commandes liées par ID.
Fichier Excel
Service sans base : Farès pointe un classeur Excel fermé (chemin stable), vérifie les en-têtes de colonnes comme noms de champs.
Échec de connexion
« Source introuvable » : Farès lit le message exact, contrôle pilote + DSN 32/64 bits, puis paramètres et droits — dans cet ordre.
Test vers production
Rapport au point sur la base de test : Farès bascule via Set Datasource Location vers la prod, puis recoupe les totaux.
✓ Buenas prácticas
- Ne sélectionnez que les tables nécessaires (moins = plus simple et fiable).
- Choisissez le bon type de jointure (interne vs externe) selon ce que vous voulez montrer.
- Testez vos totaux contre un chiffre connu pour détecter une multiplication.
✗ Errores frecuentes
- Laisser une table non reliée (produit cartésien : lignes qui explosent).
- Une jointure interne qui fait disparaître les enregistrements sans correspondance.
- Coder en dur des mots de passe sensibles.
Puntos clave
- Crystal Reports se connecte à des bases (natif ou ODBC/OLE DB) et à des fichiers, via l'assistant (Database Expert).
- Point CRUCIAL : les JOINTURES. Plusieurs tables doivent être reliées par un champ commun ; de mauvais liens = rapports faux.
- Vigilance : sécurité des identifiants et surtout l'architecture 32/64 bits (cause n°1 de « source introuvable »).
- Bonnes pratiques : filtrer à la source (performance) ; changer de source ensuite (« Set Datasource Location »).
Reto 48h — aplica mañana
Connectez une source réelle comme Farès (base ou Excel), liez deux tables sur leur champ commun, puis recoupez un total avec un chiffre connu — notez l'écart (zéro visé).
- J'ai connecté une source via le Database Expert et sélectionné le minimum de tables.
- Mes jointures sont vérifiées sur un champ commun, avec le bon type.
- Mon total est recoupé avec un chiffre connu (écart expliqué ou nul).
Preguntas frecuentes
Pourquoi les jointures sont-elles si importantes, et comment éviter les rapports faux ?
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
Que faire quand la connexion échoue ?
QUERY LENGTH LIMIT EXCEEDED. MAX ALLOWED QUERY : 500 CHARS
L'état de Farès utilise Clients + Commandes. Quel est le point le plus crucial ?