13
BOB 50 SQL : Migrer à partir de BDE 27/08/2009

BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

Embed Size (px)

Citation preview

Page 1: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

BOB 50 SQL :Migrer à partir de BDE

27/08/2009

Page 2: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

2

Agenda

• Advantage Database Server : philosophie• Passer de BDE à BOB 50 SQL• Changements et précautions à prendre• BOB-link• BOB-script• BOB-dev• BOB-ole• Outils divers• Conclusions et séances de questions

Page 3: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

3

Sybase Advantage Database Server : philosophie

• Commercialisé sous l’acronyme « SQL » pour faire référence à une notion technique souvent plus proche et connue de nos utilisateurs qu’ADS ou encore Advantage Database Server

• Avantages par rapport aux solutions concurrentes type SQL Server :– Faible utilisation en mémoire (convient aussi bien pour un serveur qu’un simple

ordinateur)– Administration réduite au strict minimum (les paramètres s’ajustent automatiquement

en cas de dépassement)– Installation très simple, maintenance quasi inexistante– Taille du processus BOB.EXE en mémoire limitée– Gestion des droits via les permissions NTFS de Windows– Commercialisé par Sybase, société essentiellement spécialisée dans les SGBDR

• Avantages pour BOB 50 :– Advantage Database Server déjà utilisé conjointement avec BOB Software depuis

plusieurs années dans plus de 150 sociétés de type « Moyenne entreprise »– Technologie déjà maîtrisée. Nous utilisons cependant désormais la version 9 pour

faire bénéficier nos utilisateurs des dernières nouveautés– Base de données plus robuste pouvant gérer des dossiers de taille importante tout en

conférant aux utilisateurs un grand confort d’utilisation (filtres, tris, reporting,…)

Page 4: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

4

Conversions des installations BDE BOB 50 SQL

• Uniquement avec le BOB Migration Kit, sur une machine avec le BDE installé et si possible le serveur de données (données en local).

• Bientôt dans le BOB Migration Kit (v2.1+):– Conversion des données Fista de BDE vers SQL

• Pour la conversion BOB 50 BDE vers BOB 50 SQL, placer l’installation BOB 50 BDE dans la colonne « BOB Software » du BOB Migration Kit.

• Les nouvelles installations BOB 50 SQL réseau doivent fonctionner en mode « NetSetup » ou en Terminal Server. Aucune garantie Sage pour les autres modes de fonctionnement.

Page 5: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

5

Changements et précautions à prendre

• Structure dans les dossiers BOB 50 :– Plus de code dossier en préfixe des noms de fichiers

– Les préfixes deviennent AC_ (compta, fichiers globaux), IV_ (facturation), FA_ (immobilisés), FI_ (fiscal) et BK_ (banque)

– Tous les fichiers « opérationnels » sont dans un même répertoire

– Le sous-répertoire BAK contient les backups des fichiers avant restructuration

• Existence à part entière de NULL :– Avec la version SQL, NULL a une existence propre au niveau des filtres

• Ex. : (TCURRENCY<>’BEF’) devient (TCURRENCY <> ‘BEF’) OR (TCURRENCY IS NULL)

• Ne plus utiliser les guillemets dans les expressions « Filter ». Toujours des apostrophes.

• Utiliser au maximum des crochets ( [ et ] ) autour des noms de champs et des noms de tables afin que le moteur SQL ne les interprète comme des mots réservés dans la syntaxe SQL ADS.Ex.: SELECT [LICENCES].[L_ID] FROM [LICENCES]

Page 6: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

6

BOB-link

• Fichiers BOBLINK.EXE et BOBLINKADSADT.EXE

• BOBLINK.EXE prend comme fichiers d’entrée les fichiers TXT, DB et DBF

– Remarque importante : Il est nécessaire que le BDE soit installé

• BOBLINKADSADT.EXE sert spécifiquement à importer des fichiers ADT (format Advantage Database Server)

– Pas de BDE nécessaire

• Répertoire LINK en SQL déplacé dans le sous-répertoire LINK\xx ou « xx » est le code dossier

– Dans le BOB.INI, LINK=C:\B50ADSDEMO\LINK

Page 7: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

7

BOB-script

• Précautions à prendre : – Changer les noms et chemins des fichiers là où ils sont « hard-codés »

avec l’ancienne structure/notation sans utiliser « BOBOpen »– Vérifier les filtres (existence du NULL et apostrophes uniquement)

• Optimiser le code :– Utiliser les TBOBQuery pour exécuter une requête SQL de type Select,

Insert, Delete, Update ou autre sur les tables ADT.– Eviter le parcours inutile des tables avec « Next » et remplacer par des

WHERE dans les requêtes.– Pour les autres types de base de données (SQL Server, Oracle,…), les

objets ADO sont disponibles

• Optimiser l’exécution : – Ajouter des indexes sur vos champs personnalisés via « Configuration

générale » (en RUNMODE=BETA actuellement)

Page 8: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

8

BOB-script

• TBOBQuery :Propriétés :Sql: string Définition de la requêteRecordCount : integer Nombre d’enregistrementsBof : boolean Est en début de tableEof : boolean Est en fin de tableRowsAffected : integer Nombre d’enregistrements modifiés

Méthodes :procedure Open; Ouvre la requête dans le recordsetprocedure Close; Ferme le recordsetprocedure ExecSql; Exécute la requêteprocedure First; Aller du début du recordsetprocedure Last; Aller à la fin du recordsetprocedure Prior; Aller à l’enregistrement précédentprocedure Next; Aller à l’enregistrement suivantfunction GetFieldValue(AFieldName: string): variant;

Page 9: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

9

BOB-script

• Exemple 1  (Pascal) :

myquery := tbobquery.create; myquery.sql := 'select * from AC_COMPAN';myquery.open; ShowMessage(inttostr(myquery.recordcount));myquery.last; showmessage(myquery.getfieldvalue('CID')); myquery.free;myquery := nil;

• Exemple 2 (Pascal) :

myquery := tbobquery.create;myquery.sql := 'update AC_COMPAN set CADDRESS2 = ''AAA'' where CLANG = ''F''';myquery.execsql;showmessage(inttostr(myquery.RowsAffected));myquery.free;Myquery := nil;

Page 10: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

10

BOB-dev

• Pas de changements• Vérifier les chemins et noms de fichiers « hard-codés »

– Attention aux DatabaseName dans les BOBDataSet

• Faire attention aux filtres

Page 11: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

11

BOB-OLE

Faire attention aux filtres• Certaines fonctions ont été optimisées pour la version SQL

– AccountBalance, CompanyAccountBalance, CostBalance

• Des fonctions seront peut-être plus lentes, d’autres plus rapides par rapport à BDE

• Vérifier les chemins et noms de fichiers « hard-codés »– Attention aux DatabaseName dans les BOBDataSet

A venir : fonction avec chaîne SQL en argument et qui renvoie une valeur

Page 12: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

12

Outils divers

• DbViewer

• BOB Admin – Sybase Management

• Installation Diagnostic

• Advantage Data Architect et autres– http://www.sage.be/tools/sybase.zip

• Autres outils (attention support non fourni par Sage) :– Advantage .NET Data Provider– Advantage OLE DB Provider– Advantage ODBC Driver– Advantage Crystal Reports Driver– Advantage PHP Driver

Page 13: BOB 50 SQL : Migrer à partir de BDE 27/08/2009. 2 Agenda Advantage Database Server : philosophie Passer de BDE à BOB 50 SQL Changements et précautions

13

Conclusions et questions

• Vérifier les noms de fichiers et chemins• Utiliser les indexes sur les tables là où c’est nécessaire• Faire attention au NULL / chaînes vides dans les filtres et requêtes• Utiliser les requêtes SQL là où c’est possible pour améliorer les performances• Tester vos requêtes au préalable avec Advantage Data Architect

Avancé• LOGSQL=YES dans [OPTIONS] LogSQL.htm (à désactiver dès que

possible)• AUTOADSINI=NO dans [OPTIONS] en cas de problèmes avec la création

automatique de ADS.INI

A venir dans BOB 50 SQL 2.1 : BOB Business Views et BOB Business Reports

Vos questions et commentaires