PRB: IPG Failure in Import Process When Generating EPG Files (815444)



The information in this article applies to:

  • Microsoft TV IPG 1.0
  • Microsoft TV IPG 1.1

SYMPTOMS

When you run the Data Transformation Service (DTS) import package named EPG Master Import Package, the electronic program guide (EPG) Import process fails while generating EPG files and you receive the following error message in the EPG Master Import Package log: Step Error Source: DTSRun
Step Error Description:Execution of "EPG Import Staging to Production Listing Table Load" failed:
Step "Delete Obsolete Programs" (DTSStep_DTSExecuteSQLTask_4) failed, error: -2147217873

The statement has been terminated. (Microsoft OLE DB Provider for SQL Server (80040e2f):
DELETE statement conflicted with COLUMN REFERENCE constraint 'FK_SCHEDULE_PROGRAM'.
The conflict occurred in database 'epg', table 'SCHEDULE', column 'Program_ID'.)

Globals:
EPGServer: (local)
EPGDBName: epg
EPGConfigMode: 1

Step Error code: 8004270F
Step Error Help File:
Step Error Help Context ID: 1000440

CAUSE

This problem occurs when a TMS lineup for a head end has changed and the override database has not been updated in a timely manner. The Channel_id does not have records in the schedule table when a lineup change occurs or when a Channel_id has expired. This creates orphan channels in the EPG database.

RESOLUTION

To resolve this problem, update the EpgOverride database by using the Program Guide editor to remove or update all orphan channels that are returned by your Microsoft SQL Server query. This query is defined in the "More Information" section.

STATUS

Microsoft has confirmed that this is a problem in IPG versions 1.0, 1.1, and 1.5.

MORE INFORMATION

Query to find orphan channels in the EPG database. To do this, follow these steps:
  1. Click Start, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer. Use your credentials to connect to SQL Server.
  2. In the drop-down list, click the EPG database (instead of the Master database).
  3. Paste the following query in Query Editor:
    SELECT * FROM LINEUP WHERE (Channel_ID NOT IN (SELECT channel_id FROM
    		  staging_schedule))
  4. Press F5 to run the query.

Modification Type:MinorLast Reviewed:6/17/2003
Keywords:kbprb KB815444 kbAudITPRO