Pregunta: | 17562 - ORDENAMIENTO EN BASES DE DATOS GRANDES |
Autor: | FABIO ADOLFO MALDONADO BECERRA |
Tengo el siguiente problema al tratar de ordenar bases de datos de 100 a 150 mil registros mediante la orden SORT ON, me aparece el error "Data Width Error" y no es capaz de coformar el fichero ordenado. No puedo ordenar mediante indexación pues la clave de ordenación contiene campos tanto caracter como numéricos y la indexación en clipper permite campos solo caracter o solo numéricos. Quisiera saber la causa del problema y si existe algún modo de corregir esta inconsistencia. Mi sistema está desarrollado en Clipper 5.2 y corre bajo Windows 98 2E. Gracias de antemano.
|
Respuesta: | luis torres |
El problema, según dice la ayuda en línea ( NG ) es: "Error en el ancho de los datos". El valor asignado a una variable FIELD numérica no pudo sr representado con exactitud en el ancho del campo especificado por la estructura de la base de datos.
Solución para el SORT: Cambiar el programa para suprimir valores inválidos o modificar la estructura del archivo de la base de datos (.DBF) para permitir valores mas grandes. Solución para INDEXACION : Cuando desees generar una clave con campos de distintos tipos, debes transformar todos los campos a un mismo tipo ( caracter ), por ejempo, si tienes una tabla con los siguientes campos: campo1 Character 10 campo2 Numeric 10 0 campo3 date 8 para generar el índice puedes hacerlo : index on campo1 + str(campo2) + dtoc( campo3 ) to ...... y luego para buscar un registro en la tabla seek campo1 + str(campo2) + dtoc( campo3 ) Espero que te sirva, si tienes alguna duda, escríbeme. |