ISQL-SE 4.10.DD6 (DOS 6,22):.SE 4.10 bVérifiez <filename>, SE 2.10 bVérifiez <filename.ext> et d'autres anomalies bVérifiez
BCHECK C-ISAM B-tree Checker version 4.10.DD6
C-ISAM File: c:\dbfiles.dbs\*.*
ERROR: cannot open C-ISAM file
En SE2.10 il a travaillé avec wilcards * * pour tous les fichiers, mais pas dans SE4.10. J'ai un script SQL que mes utilisateurs exécutent périodiquement pour réorganiser les tables client et transactions. Ensuite, j'ai un script DOS FIX.BAT [bcheck -y *. *] Comme une option utilitaire pour mes utilisateurs au cas où des tables seraient foirées. Puisque les utilisateurs qui exécutent le reorg vont maintenant incrémenter le numéro de version de la table, par exemple: CUSTO102, 110, ... maintenant je vais devoir trouver un moyen de supprimer les extensions .DAT du répertoire .DBS et le nourrir vers BCHECK. Avant, mon reorg recréait toujours un CUSTOMER.DAT statique avec le client CREATE TABLE IN "C: \ DBFILES.DBS \ CUSTOMER"; Avant d'exécuter BCHECK sur CUSTO102, sa taille de fichier .IDX était de 22 089 octets et sa taille .DAT de 882 832 octets.
Après avoir exécuté bVérifiez sur CUSTO102, sa taille .IDX augmenté à 122,561 octets, mais un nouveau fichier .IDY a été créé avec 88,430 octets ..
Qu'est-ce qu'un fichier .IDY ???
C:\DBFILES.DBS> bcheck –y CUSTO102
BCHECK C-ISAM B-tree Checker version 4.10.DD6
C-ISAM File: c:\dbfiles.dbs\CUSTO102
Checking dictionary and file sizes.
Index file node size = 512
Current C-ISAM index file node size = 512
Checking data file records.
Checking indexes and key descriptions.
Index 1 = unique key
0 index node(s) used -- 1 index b-tree level(s) used
Index 2 = duplicates (2,30,0)
42 index node(s) used -- 3 index b-tree level(s) used
Index 3 = unique key (32,5,0)
29 index node(s) used -- 2 index b-tree level(s) used
Index 4 = duplicates (242,4,2)
37 index node(s) used -- 2 index b-tree level(s) used
Index 5 = duplicates (241,1,0)
36 index node(s) used -- 2 index b-tree level(s) used
Index 6 = duplicates (46,4,2)
38 index node(s) used -- 2 index b-tree level(s) used
Checking data record and index node free lists.
ERROR: 177 missing index node pointer(s)
Fix index node free list ? yes
Recreating index node free list.
Recreating index 6.
Recreating index 5.
Recreating index 4.
Recreating index 3.
Recreating index 2.
Recreating index 1.
184 index node(s) used, 177 free -- 1083 data record(s) used, 0 free
Puis je ne comprends pas pourquoi avec ISQL 2.10, bcheck était capable de processus avec *. * et 4.10 ne pourrait pas .. semble que cette version de bcheck ajoute automatiquement .IDX au (x) nom (s) fourni (s) et si je le fournis CUSTO102.DAT ou .IDX, il l'interprète comme CUSTO102.DAT.IDX L'index 22KB était le résultat de la création de la base de données, de la création de la table, du chargement du fichier .unl et de la création de tous les index et de rien d'autre, donc quelque chose ne va pas .. ISQL 4.10 (DOS) DOS 5.0, pas 6.22 comme j'utilise + mon HIMEM est la version 3.x, pas 2.x –