Microsoft Speech Server basic reports may report "No data" for some items when the items are hosted on a Report Server in SQL Server 2005 Reporting Services (914823)



The information in this article applies to:

  • Microsoft Speech Server 2004 R2 Standard Edition
  • Microsoft Speech Server 2004 R2 Enterprise

SYMPTOMS

Microsoft Speech Server 2004 R2 basic reports may report "No data" for some items when the following conditions are true:
  • The items are hosted on a Report Server in Microsoft SQL Server 2005 Reporting Services.
  • Certain parameters have a value of "%". These parameters include the Language, TaskName, and QAName parameters.

CAUSE

This problem occurs because the SQL code that is used to perform the language filtering query treats the filtering query differently in SQL Server 2005 Reporting Services than it does in SQL Server 2000 Reporting Services. The default value for many parameters is "%" because the value enables the broadest reporting on the call data in the database.

RESOLUTION

To resolve this problem, you must modify the SQL queries that perform the parameter filtering. To do this, you must perform a global find and replace operation on the text in the .rdl files. You can use the Report Designer or any text editor to replace this text. Follow these steps:
  1. In all reports except the "Dialog Overview", "Prompts", and "Turn Analysis" reports, replace the following text.

    Original text
    ISNULL(NULLIF(@Language, '%')
    New text
    ISNULL(CAST (NULLIF(@Language, '%') AS NVARCHAR(20))
  2. In the "Turn Analysis" report (TurnAnalysis.rdl), replace the following text.

    Original text
    ISNULL(NULLIF (@QAName, '%')
    New text
    ISNULL(CAST (NULLIF(@QAName, '%') AS NVARCHAR(64))
  3. In step 1, you replaced text in the "Tasks" report (Tasks.rdl) and the "Errors" report (Errors.rdl). Additionally, replace the following text in these files.

    Original text
    ISNULL(NULLIF(@TaskName , '%')
    New text
    ISNULL(CAST (NULLIF(@TaskName, '%') AS NVARCHAR(64))
    Note You do not have to modify the "Dialog Overview" report (DialogOverview.rdl) or the "Prompts" report (Prompts.rdl).

MORE INFORMATION

To make sure that the parameters are correctly applied to the query, you should also follow the steps that are listed in the "Resolution" section for any user-defined custom reports that have been derived from the basic reports.

Note The values that are specified for the NVARCHAR statements in the "Resolution" section reflect the likely maximum length (in characters) of certain parameters.

Step 1 modifies the Language parameters. A value of 20 should cover all applications that have multiple languages.

Steps 2 and 3 modify the QAName and TaskName parameters. The maximum expected number of characters for a QAName parameter or a TaskName parameter is 64. If your application has QA controls or task names that have names that are longer than 64 characters, you should modify the replacement value in steps 2 and 3 to equal maximum number of characters in the QA control names or in the task names.

Modification Type:MajorLast Reviewed:5/5/2006
Keywords:kbprb KB914823 kbAudDeveloper