Description:
This document describes how to resolve "Database Exception" errors found in a core servers Event Viewer. Event ID 4100 and sourced from the "Landesk Inventory Server".
Database exception: EXAMPLE.scn, LDInv.dll
-2147467259
Data provider or other service returned an E_FAIL status.
Error committing on table : DATA PROVIDER OR OTHER SERVICE RETURNED AN E_FAIL STATUS.
Increased column size might be necessary, Thread ID:
Cause:
Inventory scans sent to the core server contain attributes whose values exceed the amount of characters allowed in database schema of the attributes associated column.
Resolution:
In order to resolve these error we must increase the column size(VARCHAR) for the effected attributes. This must be adjusted in the core servers database schema configuration file (Datamart.xml) otherwise your changes may be overwritten by "CoreDBUtil.exe"
Updating database schema
The database schema is configured in DataMart.xml. After modifying this configuration you can apply the changes to the database using CoreDBUtil.exe . Both "Datamart.xml" and "CoreDBUtil.exe" can be found in the core servers installation directory. (Program Files\LANDesk\ManagementSuite)
Modifying the Database Schema Configuration:
- Open "Datamart.xml" in notepad or your preferred text editor
- Modify the "Varchar" value of all the effected columns to "Varchar(MAX)"
- Save Datamart.xml
- Apply Configuration changes to the Database
Apply Configuration Changes
Manually Updating the Database Table Schema
If a database is hosted in an SQL Cluster or if "CoreDBUtil.exe" fails to commit the changes for any reason you will need to update the effected tables in your LDMS Database manually using SQL Management Studio.
alter tableBiosSettingsalter column CurrentSettingnvarchar(max);
alter tableBiosSettingsalter column PossibleValuesnvarchar(max);
alter table environsettingsalter column namenvarchar(max);
alter table environsettingsalter column valuestringnvarchar(max);
alter tableperipheraladaptersalter columntypenvarchar(max);
alter tableprinteralter columnversionnvarchar(max);
alter tableservices alter column path nvarchar(max);
alter tableservices alter column description nvarchar(max);
alter tablevideoalter column drivernamenvarchar(max);
Changes made to the schema manually must also configured in "Datamart.xml" as described above otherwise they may be overwritten by "CoreDBUtile.exe"
Confirm resolution by reprocessing scans
Confirm Resolution
To validate that the changes were applied as expected you can "re-process" your failed scans
- Navigate to Program Files\LANDesk\ManagementSuite\ldscan\ErrorScan Your
- Move all files that have been modified within the last 24 hours to Program Files\LANDesk\ManagementSuite\ldscan\ the
- It is common for scans to become out of sync after recovering from errors. If your scans return to "ErrorScan" you should review the Event Viewer to validate the cause.
Out of Sync Scans are moved to "ErrorScan" and log as Warnings in the Event Viewer
If your scans continue to fail with the same errors in event viewer after performing these steps you should review "\Program Files\LANDesk\ManagementSuite\log\CoreDbUtil.exe.log" for errors.