Integración de datos externos
La solución de base de datos e informes de Specops Inventory está diseñada teniendo en cuenta las conexiones externas. Los datos externos se pueden importar a los datos de Specops Inventory y poner a disposición del motor de informes. Esta información se puede combinar con toda la demás información de inventario al crear o editar los informes predeterminados.
El único requisito para los datos externos es que se puedan conectar a nombres de computadoras o usuarios. Alternativamente, se pueden usar los GUID de computadoras o usuarios de Active Directory para realizar la conexión. La importación de datos externos también requiere algunos conocimientos de SQL server y SQL y posiblemente experiencia en scripting.
Nota: Muchas propiedades de los objetos de computadora y usuario de Active Directory son inventariadas por defecto por Specops Inventory. Si puedes ingresar tus datos en uno de esos campos, has terminado.
Diseño de base de datos
La tabla más central en la base de datos de Specops Inventory se llama soPrincipal. Esta tabla contiene todas las computadoras y usuarios que han sido inventariados. Las columnas importantes para este documento son:
| Columna | Descripción |
|---|---|
| ID | La clave interna de Specops Inventory para la computadora o usuario. Este es un valor generado y todas las conexiones a computadoras o usuarios en la base de datos usan esta clave. |
| Nombre | El nombre de la computadora o usuario. Este es el nombre NETBios del objeto, el nombre de dominio no está incluido. |
| Dominio | El nombre del dominio de la computadora o del usuario. Este es el nombre NETBios del dominio. Como "Specopssoft" o "OurEnterprise". |
| Guid | El identificador único para el objeto en Active Directory. |
| Tipo | Este es un indicador que muestra qué tipo de objeto contiene la fila. 0 significa que es una computadora, 1 significa que es un usuario. |
La siguiente tabla muestra algunos datos de ejemplo de la tabla soPrincipal:
| ID | Nombre | Dominio | Guid | Tipo |
|---|---|---|---|---|
| 1 | computer17 | specopssoft | 9802ab9a-d331–431b-9621–5a995f05fe52 | 0 |
| 3 | computer06 | specopssoft | f85091c9-cac6–4c39–9e17–0ad7e656d2de | 0 |
| 4 | Bob | specopssoft | 649a191f-a240–4a33–9b5c-f6e1a69be3d5 | 1 |
| 6 | computer21 | specopssoft | 2121f3e2–8f3f-4b14–88e6-ffd9d61c95ca | 0 |
Toda la información utilizada para los informes en la base de datos está conectada a la tabla soPrincipal por la columna Id. Por ejemplo, la tabla de hardware de la computadora se ve algo así:
| PrincipalID | Fabricante | Modelo |
|---|---|---|
| 1 | Dell | Latitude xyz |
| 2 | Dell | Inspiron abc |
| 3 | HP | HP whatever ABC |
Para cada fila en esta tabla, el campo PrincipalId conecta la fila con la computadora correspondiente en la tabla soPrincipal.
Introducción de los datos externos en la base de datos
Para introducir los datos externos en la base de datos de Specops Inventory, se debe crear una nueva tabla en la base de datos y luego llenarla con los datos externos. Por ejemplo, podríamos crear la siguiente tabla:
| Nombre de columna | Tipo de dato |
|---|---|
| PrincipalID | int |
| TimeOfPurchase | datetime |
Nota
Debe haber una columna llamada PrincipalId en la tabla. Esta es la columna que se utilizará para emparejar las filas con la computadora correspondiente al generar los informes.
También se recomienda crear una restricción de clave externa entre la columna PrincipalId en la nueva tabla y la columna Id en soPrincipal.
Cuando se haya creado la tabla, podríamos llenarla manualmente con fechas de compra y la computadora correspondiente en la tabla soPrincipal. Supongamos que creamos una tabla llamada soInvComputerPurchaseDate.
| PrincipalId | TimeOfPurchase |
|---|---|
| 1 | 7/8/2006 |
| 3 | 2/9/2006 |
| 6 | 4/12/2005 |
Ahora podríamos agregar esta información a nuestros informes existentes. Sin embargo, en el mundo real, esta búsqueda manual generalmente no es factible ni recomendable. ¿Cómo automatizamos esto? Bueno, todo depende del tipo de datos que estés importando y en qué formato estén disponibles. Se debe hacer lo siguiente:
Introduce los datos en una tabla en una base de datos de SQL server, esto puede estar en una base de datos separada, no tiene que ser la base de datos de Specops Inventory. Esta tabla servirá como una tabla de preparación desde donde los datos se trasladan a la tabla real de Specops Inventory (la que creamos anteriormente). Para introducir los datos en la tabla de preparación, puedes configurar una fuente de datos y usar el motor de importación de datos de SQL server (la fuente de datos podría ser una base de datos Oracle, un documento de Excel o cualquier otro tipo de fuente ODBC). Luego puedes configurar esto como un trabajo programado para realizarse regularmente si es probable que los datos de origen cambien. Supongamos que la tabla de preparación se llama ComputerPurchaseDateStaging y se ve así:
| Nombre de la computadora | TimeOfPurchase |
|---|---|
| Computer 17 | 7/8/2006 |
| Computer 06 | 2/9/2006 |
| Computer 21 | 4/12/2005 |
En esta tabla, tenemos los nombres de las computadoras que ahora se pueden emparejar con los nombres de las computadoras en la tabla soPrincipal. Esta es la parte crucial, debemos tener nombres de computadoras que se puedan emparejar con las computadoras en la tabla soPrincipal. Ahora, para obtener los datos de esta tabla de preparación, tendríamos que ejecutar la siguiente declaración SQL:
INSERT
INTO soInvComputerPurchaseDate
SELECT p.Id, s.TimeOfPurchase
FROM soPrincipal p, ComputerPurchaseDateStaging s
WHERE s.ComputerName = p.Name
AND p.Type = 0
Esto insertará datos en la tabla soInvComputerPurchase tal como lo hicimos en el ejemplo manual anterior. La ejecución de esta declaración SQL también debe programarse para ejecutarse después de que se ejecute el trabajo de importación.
Agregar la nueva tabla como fuente de informe
Ahora que tenemos los datos en la base de datos de Specops Inventory, hay un paso final antes de que los datos estén disponibles como fuente de informes. Hay una tabla en la base de datos que contiene los nombres de todas las tablas (o vistas) que se permiten usar en informes. La tabla se llama soRepReportView. Inserta una fila como la siguiente en esta tabla:
| Id | Nombre | Tipo de unión | Nombre para mostrar |
|---|---|---|---|
| (generado) | soInvComputerPurchaseDate | Principal | Fecha de compra de computadora |
Nota
No debes ingresar un número en el campo Id, este valor se generará automáticamente.