Erro: Exibida uma mensagem de erro "System.Data.SqlClient.SqlException" ao executar a ferramenta do programa de extração de dados (Rpdataextraction.exe)

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 906508
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Bug #: 403546 (SQLBUDT)
Sintomas
Considere o seguinte cenário. Você instala e configurar o Microsoft SQL Server Report Pack para Microsoft Office SharePoint Portal Server 2003 em um servidor Web do SharePoint Portal. Você executa o programa de extração de dados (DEP) ferramenta (Rpdataextraction.exe) para extrair o Microsoft Windows SharePoint Services (WSS) e arquivos de log do IIS (Microsoft Internet Information Services). Nesse cenário, você receber a seguinte mensagem de erro:
Copiando dados do banco de dados de preparo para banco de dados de relatório... Falha na extração de dados em 99/99/9999 99:99:99 AM
Detalhes:
System.Data.SqlClient.SqlException
Seqüência de caracteres ou dados binários serão truncados.
A instrução foi finalizada.
Causa
Esse problema ocorre porque o tamanho do campo de tabelas temporárias será truncado quando as tabelas são criadas. Em seguida, linhas são inseridas que excedem o tamanho do campo. Especificamente, esse problema é causado pelos seguintes procedimentos armazenados que estão dentro do banco de dados dbSPSReporting :
  • O procedimento usp_Insert_FactFileStorage armazenado cria uma tabela temporária que é chamada tblTempFileStorage_toFactStorage . Nesta tabela, o campo FileType é incorretamente definido como nVarChar(25). Em vez disso, o campo FileType deve coincidir com o campo de DocType na tabela dbSPSReporting.dbo.tblDocs .
  • O procedimento usp_Insert_FactWSS armazenado cria uma tabela temporária que é chamada tblTempWSS_ToFactLoad . Nesta tabela, os seguintes campos são definidos incorretamente:
    • WSSDate
    • WSSUser
    • WSSDoc
    Esses campos devem coincidir os campos correspondentes na tabela dbSPSReportingStaging.dbo.tblWSSLogData .
Resolução
Para resolver esse problema, use um dos seguintes métodos.

Método 1: Modificar os procedimentos armazenados

Modificar os seguintes procedimentos armazenados que estão dentro do banco de dados dbSPSReporting :
  • usp_Insert_FactFileStorage
    Na linha 48, coluna 20, definida a definição de tamanho de campo de FileType arquivado para 255.
  • usp_Insert_FactWSS
    • Na linha 45, coluna 11, defina a definição de tipo de campo do campo WSSDate como smalldatetime.
    • Na linha 47, coluna 20, definida a definição de tamanho de campo do campo WSSUser a 255.
    • Na linha 48, coluna 20, definida a definição de tamanho de campo do campo WSSDoc a 255.

Método 2: Usar o SQL Query Analyzer

Para resolver esse problema através de programação, você deve executar duas amostras de código. Para fazer isso, execute as seguintes etapas:
  1. Cole o exemplo de código a seguir no SQL Query Analyzer. Em seguida, execute o código, pressionando F5.
    USE dbSPSReportinggoALTER    PROCEDURE dbo.usp_Insert_FactWSS ASdeclare @StartDate datetimeset @StartDate = getdate()Begin Transaction   if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblTempWSS_ToFactLoad]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)      drop table [dbo].[tblTempWSS_toFactLoad] if @@error <>0 Begin	--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactWSS - Dropping Table tblTempWSS_toFactLoad', @StartDate, getdate(), 'Errors Occurred'		RAISERROR ( 'Errors Were encountered dropping tblTempWSS_toFactLoad', 16, 1 )	Return -1 End else    Commit TransactionBegin Transaction	Create table dbo.tblTempWSS_ToFactLoad  (		WSSFactID bigint identity not null Primary Key,		SiteGUID uniqueidentifier,		WebGUID uniqueidentifier,		WSSDate smalldatetime,		WSSTime nvarchar(8),		WSSUser nvarchar(255),		WSSDoc  nvarchar(255),		WSSList uniqueidentifier,		WSSReferrer nvarchar(255),		WSSRelativeURL nvarchar(255),		SiteID bigint,		WebID  bigint,		DateID bigint,		TimeID bigint,		UserID bigint,		FileID smallint,		ListID bigint,		ReferrerID bigint,		RelativeURLID bigint) if @@error <>0 Begin	--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactWSS - Failed to Create Table tblTempWSS_toFactLoad', @StartDate, getdate(), 'Errors Occurred'		RAISERROR ( 'Failed to Create Table tblTempWSS_toFactLoad', 16, 1 )	Return -1 End else    Commit Transaction--Create indexes.Create Index idx_nc_TmpWSS_1 on dbo.tblTempWSS_ToFactLoad(SiteGUID)Create Index idx_nc_TmpWSS_2 on dbo.tblTempWSS_ToFactLoad(WSSDoc)Create Index idx_nc_TmpWSS_3 on dbo.tblTempWSS_ToFactLoad(WSSList)Create Index idx_nc_TmpWSS_4 on dbo.tblTempWSS_ToFactLoad(WebGUID)Begin Transaction	insert into tblTempWSS_ToFactLoad(SiteGUID, WebGUID, WSSDate, WSSTime, WSSUser, WSSDoc, WSSList, WSSReferrer, WSSRelativeURL)	  select SITEGUID, WebGUID, wsslogdate, 		convert(nvarchar,cast(wsslogtime as datetime),108), wssuser, 		right(WSSDoc, len(WSSDoc) - charindex('.', WSSDoc)), ListGuid,		ReferringURL, RelativeURL	 from dbSPSReportingStaging.dbo.tblWSSLogData		update tblTempWSS_ToFactLoad	set SiteID = DimSite.SiteSurKey	from DimSite	where tblTempWSS_ToFactLoad.SiteGUID = DimSite.SiteGUID 		update tblTempWSS_ToFactLoad	set DateID = DimDate.DateSurKey	from DimDate	where WSSDate = DimDate.DateFull		update tblTempWSS_ToFactLoad	set TimeID = DimTime.TimeSurKey	from DimTime	where WSSTime = DimTime.TimeFull	update tblTempWSS_ToFactLoad	set WebID = DimWeb.WebSurKey	from DimWeb	where tblTempWSS_ToFactLoad.WebGUID = DimWeb.WebGUID		update tblTempWSS_ToFactLoad	set UserID = DimUser.UserSurKey	from DimUser	where WSSUser = DimUser.UserName		update tblTempWSS_ToFactLoad	set FileID = DimFile.FileSurKey	from DimFile	where WSSDoc = DimFile.FileType		update tblTempWSS_ToFactLoad	set ListID = DimList.ListSurKey	from DimList	where WSSList = DimList.ListGUID		update tblTempWSS_ToFactLoad	set ReferrerID = DimReferrer.ReferrerSurKey	from DimReferrer	where WSSReferrer = DimReferrer.ReferrerURL		update tblTempWSS_ToFactLoad	set RelativeURLID = DimFileName.FileNameSurKey	from DimFileName	where WSSRelativeURL = DimFileName.RelativeURL	--Handle nulls.	update tblTempWSS_ToFactLoad	set ListID = DimList.ListSurKey	from DimList	where DimList.ListTitle = 'No Title'		and ListID is null	update tblTempWSS_ToFactLoad	set WebID = DimWeb.WebSurKey	from DimWeb	where DimWeb.WebName = 'No WebName'		and WebID is null		update tblTempWSS_ToFactLoad	set FileID = DimFile.FileSurKey	from DimFile	where DimFile.FileType = 'No File'		and FileID is null		update tblTempWSS_ToFactLoad	set ReferrerID = DimReferrer.ReferrerSurKey	from DimReferrer	where tblTempWSS_ToFactLoad.ReferrerID is null		and DimReferrer.ReferrerURL = 'No Referrer'		update tblTempWSS_ToFactLoad	set RelativeURLID = DimFileName.FileNameSurKey	from DimFileName	where tblTempWSS_ToFactLoad.RelativeURLID is null		and DimFileName.RelativeURL = 'No FileName'	update tblTempWSS_ToFactLoad	set SiteID = DimSite.SiteSurKey	from DimSite		where SiteID is null and DimSite.SiteOwner = 'No Owner'if 1<= (select count(*) from tblTempWSS_ToFactLoad 		where (DateID is null or UserID is null or SiteID is null or ListID is Null or 			FileID is null or WebID is null or TimeID is null or ReferrerID is null or			RelativeURLID is null))Begin	Rollback Transaction		--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactWSS - Update tblTempWSS_ToFactLoad', @StartDate, getdate(), 'Null Values'		RAISERROR ( 'Null Values Exist in tblTempWSS_ToFactLoad. Data not loaded', 16, 1 )		Return -1endelseBegin	Commit Transaction	--Insert into logging table.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactWSS - Update tblTempWSS_ToFactLoad', @StartDate, getdate(), 'Update Successful'End   	Begin Transaction		insert into FactWSS(DateSurKey, UserSurKey, SiteSurKey, ListSurKey, FileSurKey, WebSurKey, TimeSurKey,		ReferrerSurKey, FileNameSurKey)	select DateID, UserID, SiteID, ListID, FileID, WebID, TimeID, ReferrerID, RelativeURLID	from tblTempWSS_ToFactLoad  if @@error <> 0  Begin	Rollback Transaction		--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactWSS - Insert Rows FactWSS', @StartDate, getdate(), 'Errors Occurred'		RAISERROR ( 'Errors occurred loading FactWSS. Data not loaded', 16, 1 )	Return -1  Endelse  Begin	Commit Transaction	--Insert into logging table.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactWSS - Insert Rows FactWSS', @StartDate, getdate(), 'FactWSS Loaded Successfully'  End	Return 0go
  2. Cole o exemplo de código a seguir no SQL Query Analyzer. Em seguida, executar o código, pressionando F5.
    USE dbSPSReportinggoALTER   PROCEDURE dbo.usp_Insert_FactFileStorage ASdeclare @StartDate datetime, @ProcessDate datetimeset @StartDate = getdate()set @ProcessDate = getdate()Begin Transaction   if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblTempFileStorage_toFactStorage]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)      drop table [dbo].[tblTempFileStorage_toFactStorage] if @@error <>0 Begin	--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactFileStorage - Dropping Table tblTempFileStorage_toFactStorage', @StartDate, getdate(), 'Errors Occurred'		RAISERROR ( 'Errors Were encountered dropping tblTempFileStorage_toFactStorage', 16, 1 )	Return -1 End else    Commit TransactionBegin Transactioncreate table dbo.tblTempFileStorage_toFactStorage (	RowID	int identity not null,	DocGUID uniqueidentifier null,	FileSize bigint not null,	FileDateTime datetime not null,	ListGUID uniqueIdentifier null,	FileType nvarchar(255) not null,	WebGUID uniqueIdentifier not null,	SiteGUID uniqueIdentifier not null,	RelativeUrl nvarchar(255) not null,	FileID int null,	DateID int null,	TimeID int null,	ListID int null,		WebID int null,	ArchID int null,	SiteID int null,	FileNameID bigint) if @@error <>0 Begin	--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactFileStorage - Failed to Create Table tblTempFileStorage_toFactStorage', @StartDate, getdate(), 'Errors Occurred'		RAISERROR ( 'Failed to Create Table tblTempFileStorage_toFactStorage', 16, 1 )	Return -1 End else    Commit Transaction--Create indexes outside transaction.Create Index idx_nc_TmpFileStorage_1 on dbo.tblTempFileStorage_toFactStorage(ListGUID)Create Index idx_nc_TmpFileStorage_2 on dbo.tblTempFileStorage_toFactStorage(DocGUID)Create Index idx_nc_TmpFileStorage_3 on dbo.tblTempFileStorage_toFactStorage(SiteGUID)Begin Transaction	insert into tblTempFileStorage_toFactStorage (DocGUID, FileSize, FileDateTime, ListGUID, FileType, WebGUID, SiteGUID, RelativeUrl)		select DocGUID, DocSize, @ProcessDate, ListGUID, DocType, tblDocs.WebGUID, SiteGUID, RelativeUrl		from dbSPSReportingStaging.dbo.tblDocs tblDocs		     join dbSPSReportingStaging.dbo.tblWebs tblWebs on tblDocs.WebGUID = tblWebs.WebGUID					update tblTempFileStorage_toFactStorage 	set FileID = DimFile.FileSurKey	from DimFile, tblTempFileStorage_toFactStorage a	where a.FileType = DimFile.FileType		update tblTempFileStorage_toFactStorage	set DateID = DimDate.DateSurKey	from DimDate	where convert(varchar,FileDateTime,101) = convert(varchar,DateFull,101)		update tblTempFileStorage_toFactStorage	set TimeID = DimTime.TimeSurKey	from DimTime	where convert(varchar,FileDateTime,108) = convert(varchar,TimeFull,108)		update tblTempFileStorage_toFactStorage	set ListID = DimList.ListSurKey	from tblTempFileStorage_toFactStorage a, DimList	where a.ListGUID = DimList.ListGUID		update tblTempFileStorage_toFactStorage	set ListID = DimList.ListSurKey	from DimList	where ListID is null and DimList.ListTitle = 'No Title'		update tblTempFileStorage_toFactStorage	set WebID = DimWeb.WebSurKey	from tblTempFileStorage_toFactStorage a, DimWeb	where a.WebGUID = DimWeb.WebGUID		update tblTempFileStorage_toFactStorage	set ArchID = DimArch.ArchSurKey	from tblTempFileStorage_toFactStorage a, (select ArchSurKey, SiteGUID	from DimArch, (	   select distinct DatabaseName, VirtualServerName, IISServiceName, SiteGUID	   from dbSPSReportingStaging.dbo.tblDatabases DB join dbSPSReportingStaging.dbo.tblSites SITES 		on DB.DatabaseGUID = SITES.DatabaseGUID 		JOIN dbSPSReportingStaging.dbo.tblVirtualServers VS ON DB.VirtualServerGUID = 		VS.VirtualServerGUID 	   ) tblArch	where DimArch.DatabaseName = tblArch.DatabaseName and 	      DimArch.IISServiceName = tblArch.IISServiceName and 	      DimArch.VirtualServerName = tblArch.VirtualServerName) DimArch	where a.SiteGUID = DimArch.SiteGUID		update tblTempFileStorage_toFactStorage	set ArchID = DimArch.ArchSurKey	from DimArch	where ArchID is null and DimArch.VirtualServerName = 'No VirtualServerName'		update tblTempFileStorage_toFactStorage	set SiteID = DimSite.SiteSurKey	from tblTempFileStorage_toFactStorage a, DimSite	where a.SiteGUID = DimSite.SiteGuid	update tblTempFileStorage_toFactStorage	set FileNameID = DimFileName.FileNameSurKey	from DimFileName, tblTempFileStorage_toFactStorage	where tblTempFileStorage_toFactStorage.RelativeURL = DimFileName.RelativeURL	update tblTempFileStorage_toFactStorage	set SiteID = DimSite.SiteSurKey	from DimSite		where SiteID is null and DimSite.SiteOwner = 'No Owner'if 1<= (select count(*) from tblTempFileStorage_toFactStorage		where (DateID is null or SiteID is null or ListID is Null or 			FileID is null or WebID is null or ArchID is null or			TimeID is null or FileNameID is null))Begin	Rollback Transaction	--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactFileStorage - Update tblTempFileStorage_toFactStorage', @StartDate, getdate(), 'Null Values'		RAISERROR ( 'Null Values Exist in tblTempFileStorage_toFactStorage. Data not loaded', 16, 1 )		Return -1endelseBegin	Commit Transaction	--Insert into logging table.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactFileStorage - Update tblTempFileStorage_toFactStorage', @StartDate, getdate(), 'Update Successful'End   	Begin Transaction	insert into FactFileStorage(FileSurKey, DateSurKey, TimeSurKey, ListSurKey, WebSurKey, ArchSurKey, SiteSurKey, FileNameSurKey, DiskSpaceUsed)	select FileId, DateID, TimeID, ListID, WebID, ArchID, SiteID, FileNameID, FileSize	from tblTempFileStorage_toFactStorage  if @@error <> 0  Begin	Rollback Transaction		--Insert logging table message.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactFileStorage - Insert Rows FactFileStorage', @StartDate, getdate(), 'Errors Occurred'		RAISERROR ( 'Errors occurred loading FactFileStorage. Data not loaded', 16, 1 )	Return -1  Endelse  Begin	Commit Transaction	--Insert into logging table.	Insert Into tblProcessAudit(StepName, StartDateTime, EndDateTime, StepCompletionStatus)	select 'usp_Insert_FactFileStorage - Insert Rows FactFileStorage', @StartDate, getdate(), 'FactFileStorage Loaded Successfully'  End	Return 0go
Observação O Microsoft SQL Server Report Pack para Microsoft Office SharePoint Portal Server 2003 e o programa de extração de dados (DEP) ferramenta (Rpdataextraction.exe) não há suporte para Microsoft Product Support Services. Microsoft fornece sem garantias expressas, garantias ou condições sobre essas ferramentas. Este software é licenciado “ como-é. ” Você assume o risco de usá-lo.
Situação
A Microsoft confirmou que este é um bug no pacote do Microsoft SQL Server Report para o Microsoft Office SharePoint Portal Server 2003.
Referências
Para obter mais informações, visite os seguintes sites:

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 906508 - Última Revisão: 12/09/2015 03:09:19 - Revisão: 3.4

Microsoft Office SharePoint Portal Server 2003, Microsoft SQL Server 2000 Reporting Services

  • kbnosurvey kbarchive kbmt kbtshoot kbpending kbbug KB906508 KbMtpt
Comentários