Hunter Parameters (Schema)

viernes, 17 de junio de 2011 1:24:00 Categories: Access Base de Datos Hunter Parámetros
Valorar Este Contenido 1 Votos.

Una de las claves para el éxito de todas las actividades de la Red consiste en recopilar toda la información de los parámetros de configuración (GSM, UMTS, LTE ...) en un único y actualizado base de datos.

 

 

A partir de esta base (base de datos de parámetros) que podemos lograr una gran cantidad de acciones, con beneficios de varios tipos: los parámetros de auditoría, informes precisos, conspirando para Google Earth y Mapinfo, la actualización de otras bases de datos y otras herramientas, como una prueba de manejo, etc.

Si estás leyendo este tutorial, usted probablemente ya tiene una idea de cómo este proceso trae resultados. Sobre todo porque otra de las ventajas de tener una base de datos de este tipo: los datos son fiables, ya que se corresponden con lo que tenemos en nuestra red activa

Con módulo de Parámetros de Hunter, empezamos a ver hoy en día en una forma simplificada de los procedimientos y las macros en la búsqueda de los datos en bruto de los parámetros de la OSS, y lo almacenan en una base de datos.

Y si usted ha seguido los tutoriales de Hunter, también ya están familiarizados con nuestra forma simplificada para demostrar cómo el desarrollo de sus aplicaciones específicas que dan el mismo resultado de su propia red.

Nota: Todas las telecomHall artículos están escritos originalmente en Portugués. A continuación se hacen traducciones en Inglés y Español. Como nuestro tiempo es escaso, sólo se producen varios errores de ortografía (que utilizar el traductor automático, y sólo entonces hacer una revisión final). Pedimos disculpas, y contamos con su comprensión de nuestro esfuerzo. Si usted quiere contribuir traduciendo / corregir una de estas lenguas, o incluso uno nuevo, por favor comuníquese con nosotros: contacto.

 

Objetivo

El objetivo de hoy es mostrar cómo crear una base de datos con todos los datos de parámetros organizados en tablas y campos.

En nuestro caso, después de la modularización Hunter, nuestra base de datos es Hunter_Parameters_DB.mdb, Access.

Los parámetros de red son proporcionados por diferentes proveedores en diferentes formatos (TXT, XLS, CSV, XML, etc ..) y puede ser descargado en diversas formas (FTP, descargas, etc ..).

Para cada tipo específico, podemos crear un "parser", es decir, un 'macro' para obtener los archivos en ese formato particular, y de agrupar y organizar en una base de datos.

Una forma más común de la gran mayoría de los vendedores es el formato TXT, incluso para ser un formato más genérico o común.

Para importar los datos de TXT a una base de datos, se utiliza una característica especial: crear un archivo con las especificaciones de cada tabla / campo - el archivo Schema.ini

Y esto es lo que demostramos aquí hoy a través de datos simulados (ficticio). Aunque los formatos de datos no son específicos para ningún proveedor, los conceptos que aquí se presenta puede ser fácilmente adepted de su ser específico (s).

 

Escenario

Nuestro escenario es el siguiente: tenemos una red GSM / UMTS formar un vendedor X, con dos BSC (BSC001 y BSC002) y un RNC (RNC001).

A través de comandos en el sistema de gestión (cada proveedor tiene su propio formato), horario de la creación cotidiana de la exportación de todas las tablas de los parámetros en un directorio específico en el sistema de gestión. (Cuando las tablas se exportan, también se exporta un archivo con la especificación - tablas, campos, tipos de datos - para todos los archivos exportados).

El siguiente paso es conseguir que estos datos en bruto, y copiarlos en un directorio local. (A pesar de esta acción también puede ser automatizado, por ahora vamos a hacerlo de forma manual).

Entonces, simplemente puede ejecutar una macro que hará que cada uno de estos archivos en los directorios locales, la importación de cada uno haciendo un * proceso y ofrecer todo en una sola base de datos

* Procesamiento de datos es un paso esencial, especialmente la inclusión de nuevos campos de cada tabla. Esto es simplemente porque si recoger todos los archivos comunes de todos los BSC, ¿cómo podríamos saber qué sector pertenece a un particular, BSC (por ejemplo)?

 

Como ya hemos dicho, que ya debe estar familiarizado con el Hunter modularição. Así que hoy vamos a crear directorios y archivos de un poco más para apoyar a este módulo de macros parámetros (1). Los nuevos directorios se muestran a continuación.

Como estamos acostumbrados a, 'script' en el directorio contiene el script para este módulo. 'Datos' El directorio es el directorio donde el módulo de búsquedas de los datos. Y "Base de datos 'en el directorio es el directorio donde la base de datos serán los siguientes:. Hunter_Parameter_DB.mdb, con los datos finales

Nota: Es muy importante mantener una estandarización de la nomenclatura que se usa, principalmente, y por lo menos, las bases de datos clave. El parámetro de base de datos es una de esas bases de datos de claves, y como hemos dicho, en el futuro vamos a utilizar como punto de partida (origen de datos) para varios otros módulos. Si no tiene un nombre por defecto - es decir, cambiar el nombre a cualquier otro - vamos a tener problemas para enlazar los otros módulos. Usted puede entender más o menos haciendo una analogía con el Excel. Si utiliza una hoja de cálculo externa en una fórmula, y borrar o renombrar esta hoja de trabajo, debe decirle a Excel desde donde los nuevos datos vienen!

Usted puede haber notado '+' el signo en el directorio de datos. Esto es así porque, para este ejemplo en particular, tenemos los datos de nuestro proveedor de X como se muestra más abajo (casi un espejo de los datos primarios generados en el mismo directorio en el OSS, y descargar a través de ftp).

 

Tenemos:

  • BSC001 con 3 BTS. GAAA1, GBBB1 e GCCC1 (todos con 3 sectores)
  • BSC002 con 3 BTS. GDDD1, GEEE1 e GFFF1 (todos con 3 sectores)
  • RNC001 con 2 Nodo B:. UAAA1 e UEEE1 (todos con 3 sectores)

 

Por ejemplo, los archivos RAW de BSC001 son:

Y en todos los directorios, existe un archivo con la definición de los tipos de datos para cada campo de cada tabla:

Observación 1 : tenga en cuenta que "gsm_par_1.txt 'el archivo de BSC001 se almacena en" gsm_par_1' una tabla. "Gsm_par_1.txt 'El archivo de BSC002, se almacenarán en la misma tabla. Ahora usted puede entender por qué tenemos que insertar algunos campos de la transformación, no? (En este caso, un campo para introducir si se trata de un BSC / RNC).

Observación 2 : siguiendo el mismo razonamiento, y se presenta la estructura, "gsmumts_par_1.txt 'los archivos para BSC001, y" gsmumts_par_1.txt' para BSC002 y 'gsmumts_par_1.txt' para RNC001 serán almacenados en una tabla. También vale la pena insertar un campo adicional que indica si el parámetro es nuestra GSM (BSC) o UMTS (RNC), no?

De todos modos, pronto será más fácil comprender la importancia y beneficios de estos campos.

Vamos a continuar. Y suficiente sobre los datos de prueba en nuestra red. Sólo recuerda que los formatos similares son ofrecidos por todos los vendedores, y se puede adaptar los procedimientos aprendidos aquí sin problemas.

 

Introducción al código utilizado

A continuación, presentará una propuesta de código VBA que se siguen para crear su propia macro para realizar estas tareas.

Estamos hablando de la creación de macros en Access (un auxiliar de archivo mdb, que se encuentra en la carpeta de secuencias de comandos), así que tenemos que añadir un módulo.

Nota : hasta hoy, todos los tutoriales muestra paso a paso para insertar todos los objetos de la base de datos. Por ejemplo, ¿qué menú, para usar, el elemento que haga clic, etc. Esta metodología es buena para aprender, pero repetir todo este procedimiento - que ya deberían ser asimilados - se hace innecesaria, e incluso puede llegar a ser una carga. Así que cada vez que indican una acción como la inserción de un módulo o escribir una macro, si usted tiene alguna pregunta, por favor refiérase a los tutoriales de Hunter antes.

La macro utiliza algunas tablas de apoyo y consultas, así que vamos a hablar primero de ellos.

 

Todos los cuadros que creamos son de tipo 'tbl_ *'.

En nuestro ejemplo, hoy en día, se utilizan tres tablas auxiliares, como se muestra abajo, con su explicación.

  • tbl_Config_Schema :. como todas las tablas de configuración que utilizamos en Hunter, esta tabla contiene los campos que definen lo que nuestra macro hará

    • ExportFilePath : El directorio donde se encuentran los datos. Por lo general, los datos se descargan a través de ftp en un solo archivo ZIP.
    • ExportFileName : sub-directorio donde están todos los archivos. En este ejemplo, el extracto de todas ellas para el sub-directorio con el nombre del archivo ZIP.
    • NEType : campo para indicar si el elemento está BSC o RNC. Este campo / valor que se incluirán en cada tabla para este elemento.
    • NEName : campo para introducir el nombre del elemento. También agregar este campo a cada tabla para este elemento.
    • Regional :. un campo libre, que también se adjunta, y puede contener información, como el vendedor o el nombre de la red
    • importación :. campo auxiliar, lo que indica si este elemento deben ser transformados (importados)

 

  • tbl_Aux_FieldType : se utilizan los datos de este cuadro para escribir el archivo Schema.ini correctamente. Esto se debe a Schema.ini debe contener exactamente el tipo de datos como Access espera. Y los datos en nuestros archivos pueden ser diferentes. Por ejemplo, nuestro archivo indica que el campo es de tipo entero usando la palabra 'int'. En el esquema de acceso, la definición del tipo entero es a través de 'corto'.

 

  • tbl_Config_Schema : tabla con la información de la tabla y los tipos de datos. Usamos esta información para escribir el archivo Schema.ini que hablamos es un archivo auxiliar, lo que permite la importación automática de datos. En nuestro caso, esta especificación se proporciona junto con la basura, y para cada elemento, se carga a través de VBA la definición de tabla correspondiente.

Todas las consultas que crean son de tipo 'qry_ *'.

En nuestro ejemplo, hoy en día, se utilizan dos preguntas auxiliares, como se muestra a continuación, con la explicación que acompaña.

  • qry_Config_Schema :. prácticamente los datos de la tabla 'tbl_Config_Schema, sólo filtrado - que muestra - solo los elementos que hemos creado para procesar

 

  • qry_ViewDefinition : también una consulta muy simple, básicamente con la tbl_ViewDefinition datos de la tabla, incluyendo un FieldTypeAccess nuevo campo, que en estos momentos, se informará al formato del tipo de datos para el formato de archivo que Schema.ini como Access espera.

 

 

Código VBA

Ahora que sabemos que nuestros datos y las tablas auxiliares y consultas, se puede montar un tema de lo que el código VBA debe hacer.

Recordar que esto es sólo una manera de hacerlo - sin duda se puede hacer otra cosa. Esta es nuestra propuesta, entonces vamos a "leer" los pasos principales de nuestro código, sugerencias e ideas para que pueda crear el suyo propio. Para más referencias y posibilidades que presenta, en cada declaración, por favor, consulte la Ayuda de VBA o hacer una búsqueda en Google. De todos modos, la idea de que aquí se presenta sirve como una guía para usted o para crear sus propias soluciones / códigos.

Listado de las principales acciones de forma secuencial, tenemos una Resumen de código:

Para cada fila de la consulta de configuración (que ya excluye a los posibles elementos que no desea procesar)

[se utiliza el comando db.OpenRecordset para manipular esta consulta a través del código]

Lea la información, por ejemplo, el directorio donde están los archivos que desea buscar:

[asignar valores de cada campo del conjunto de registros activos de variables auxiliares, por ejemplo, "strExportFilePath" la variable contiene el valor del campo "ExportFilePath ' ]

de importación, antes de todo, el archivo con las definiciones de las tablas / campos;

[se utiliza el comando DoCmd.TransferText, porque sabemos lo que es el nombre de archivo determinado, y tenemos una especificación de importación de texto previamente guardado para que la acción específica. Para acceder a estos ajustes, se puede importar cualquier archivo de texto usando la interfaz de acceso, y cuando aparece el asistente, haga clic en Avanzadas - Especificaciones. De todos modos, esta es una especificación simple]

Con estas definiciones cargado, por escrito "Schema.ini 'el archivo en el directorio donde los archivos son:

[se utiliza el comando Abrir para la salida - la inserción de la cabecera Schema.ini, y abierto para Append, para escribir la información de cada campo (loop)]

importar cada archivo (por ejemplo, NAME1.txt) en este directorio, en base a la información ya en el archivo 'Schema.ini' que hemos creado en la raíz de este directorio, a una tabla temporal "temp_NAME1;

[WE utilizar los comandos de CreateObject ("Scripting.FileSystemObject"), para buscar la información en el directorio, y el comando db.Execute SELECT * INTO para insertar datos utilizando el Schema.ini]

incluir campos adicionales con los valores que se lee en el derecho de vía de configuración de consulta, y también con otros valores que desee, por ejemplo, un campo con información de fecha;

[usamos el comando. CreateField y. Append para insertar campos personalizados adicionales a las tablas]

Introduzca los datos de esta tabla temporal, ahora con los campos de nuestro apoyo, en una tabla final NAME1;

[usamos el comando db.Execute SELECT * INTO]

Eliminar 'temp_NAME1' la tabla temporal;

[se utiliza el comando db.TableDefs.Delete]

Por último, se copian todas las tablas en el actual (recuerde que él es nuestro 'script') a la base de datos final 'Hunter_Parameters_DB.mdb.

[utilizamos DoCmd.CopyObject con la información del archivo actual y objetivo]

 

Resultados

Como resultado de ello (que se ejecuta una macro que llama a este código), tenemos nuestra base de datos con todas las tablas y campos con la información de los parámetros de configuración de nuestra red.

apertura de la base de datos que tienen acceso a todos los datos en un solo lugar!

 

Volviendo a nuestro ejemplo, tenemos dos BSC, con 'gsm_table_1 "una tabla (TXT) exportados a sus sub-directorios específicos. Después del procesamiento, tenemos los datos de estas tablas (archivos) almacenados en una sola tabla (Access), con campos adicionales! (Por ejemplo, el NENAME campo - con el nombre de cada BSC).

 

En nuestro ejemplo, vemos que también incluyen un RNC UMTS, con una tabla de parámetros comunes a GSM y UMTS: "gsmumts_table_1. Cuando los tres archivos (dos de los BSC y uno de los RNC) se importan en una sola tabla, vemos la utilidad de un campo como el NETYPE - que nos permite filtrar por los parámetros de BSC y / o RNC

 

IMPORTANTE : Tenga en cuenta que aquí utilizamos datos de prueba, y sólo unos pocos archivos / tablas de parámetros de configuración Netwrok. En la práctica, el número de archivos / tablas son cientos, por lo que el uso de macros como prácticamente indispensable.

 

Conclusión

Ahora estamos en una nueva etapa en la evolución de la herramienta de Hunter. Como ya informamos, nos estamos centrando más en las aplicaciones. Los tutoriales publicados hasta hace poco fueron entregados a una familiarización con la metodología, y también el uso de programas, especialmente el acceso y VBA.

Hoy hemos visto cómo crear una base de datos con toda la información de los parámetros de configuración de nuestras redes GSM y UMTS. Otras tecnologías como LTE se pueden añadir, de manera similar como se presenta.

La concentración de dicha información en un archivo único tiene muchas ventajas, como por ejemplo para permitir la creación rápida de informes, lee los parámetros de Google Earth, las auditorías de los parámetros, la verificación de cambios en la red , la actualización de bases de datos y otras herramientas, como los archivos auxiliares en la ejecución de pruebas de la unidad. Y lo más importante - de datos fiables, ya que se corresponden con lo que tenemos en la red activa!

Gracias por su visita y esperamos que la información que aquí se presenta puede servir como punto de partida para sus soluciones y macros.

En particular, agradecemos a los colaboradores de telecomHall . Los archivos de este tutorial ya ha sido enviado, por favor consulte. Si ha tenido problemas a la recepción, por favor.

Seguimos con la preparación de las clases particulares para los diferentes módulos de otros, que se publicará en forma gradual y oportuna.

La búsqueda continúa para el desarrollo de las aplicaciones más sencillas y que nos permite mejorar nuestro trabajo, de forma rápida y eficiente. Leer todos los tutoriales y la práctica: el conocimiento adquirido puede ser su mayor diferencia