SQL database table creation with custom inventory

book

Article ID: 180326

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

 

Resolution

Question

When creating a custom inventory XML file, how does the table get created and named in SQL?

Answer

The table gets created through a concatenation of two fields in the custom inventory XML file that you create to perform the custom inventory scan.  Below is a sample header to this file:

<InventoryClass name='secondPortion' manufacturer='firstPortion' description='' version='1.0' platform='Win32' mifClass='ALTIRIS|myCustomClass|1.0'>

You can see in "manufacturer" that there is a field named "firstPortion". This should be an abbreviation for your company. The "InventoryClass name", or "secondPortion" and the manufacturer, or "firstPortion", make up the data class name. The data class will appear in the "Default Folder" in the resource manager viewer for a computer. It will also be shown in the console under Configuration > Resource Settings > Data Classes > Default Folder.

These two fields will be used to generate the table name in the database. However, if the manufacturer is left as the default of "Altiris", it will not be used in the data class name or in the database table name.

Using the above header as the example, you can expect to see a table created in your SQL Database named "INV_firstPortion_secondPortion". When tables are created with custom inventory, they are pre-pended with "INV_" and if you put spaces in the "Class name," those will be replaced with underscores ( _ ); it is a good idea to leave spaces and to be descriptive as this makes using your tables easier.

Note: It is advisable to change the manufacturer from the default of "Altiris" to an appropriate abbreviation for your company as this will group all custom tables together in database table listings and provide for better identification and separation from built-in tables. By doing so, all custom inventory table names will follow this convention:

inv_<mymanufacturer>_<secondPortion>