删除WFFM报告记录

时间:2015-09-17 14:04:46

标签: sitecore web-forms-for-marketers

当我从中选择WFFM并打开表单报告并尝试删除其中一条记录时,会出现以下错误:

[SqlException(0x80131904):无效的对象名称'dbo.SplitIds'。]

此对象是缺少的表还是存储过程?

1 个答案:

答案 0 :(得分:1)

看起来您的安装中缺少WFFM功能之一。你有权访问你的WFFM SQL数据库吗?

如果是,您可以在该数据库的功能文件夹中查看它:

enter image description here

这是你缺少的功能 dbo.SplitIds

如果这是您的实例上唯一缺少的数据库对象,并且您没有在其他地方使用它,则可以使用此脚本重新创建它。不要忘记 USE 之前:

CREATE FUNCTION [dbo].[SplitIds]
(
    -- Add the parameters for the function here
    @IdValues nvarchar(max),
    @Delimiter  NVARCHAR(1) = ','
)
RETURNS 
@IDs TABLE 
(
    Id uniqueidentifier not null
)
AS
BEGIN
    DECLARE @Separator nvarchar(1)
    SET @Separator  = @Delimiter

    DECLARE @Iterator int
    SET @Iterator = 1

    DECLARE @RowData NVARCHAR(MAX)
    SET @RowData = @IdValues

    DECLARE @FoundIndex INT
    SET @FoundIndex = CHARINDEX(@Separator,@RowData)

    WHILE (@FoundIndex>0)
    BEGIN
        INSERT INTO @IDs (Id)
        SELECT          Data = dbo.Trim(SUBSTRING(@RowData, 1, @FoundIndex - 1))

        SET @RowData = SUBSTRING(@RowData, @FoundIndex + DATALENGTH(@Separator) / 2,  LEN(@RowData))

        SET @Iterator = @Iterator + 1   
        SET @FoundIndex = CHARINDEX(@Separator, @RowData)
    END

    INSERT INTO @IDs (Id)
    SELECT Data = dbo.Trim(@RowData)

    RETURN 
END

功能恢复后,请尝试再次删除您的报告。如果这是唯一一个缺失的功能 - 如果没有 - 那么它会告诉你还缺少什么。 希望有所帮助!