当我从中选择WFFM并打开表单报告并尝试删除其中一条记录时,会出现以下错误:
[SqlException(0x80131904):无效的对象名称'dbo.SplitIds'。]
此对象是缺少的表还是存储过程?
答案 0 :(得分:1)
看起来您的安装中缺少WFFM功能之一。你有权访问你的WFFM SQL数据库吗?
如果是,您可以在该数据库的功能文件夹中查看它:
这是你缺少的功能 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
功能恢复后,请尝试再次删除您的报告。如果这是唯一一个缺失的功能 - 如果没有 - 那么它会告诉你还缺少什么。 希望有所帮助!