| View previous topic :: View next topic   | 
	 
	
	
		| Author | 
		Message | 
	 
	
		rhaazy
 
 
  Joined: 23 May 2006 Posts: 3
 
  | 
		
			
				 Posted: Tue May 23, 2006 11:48 am    Post subject: Update problemin MS SQL 2000 | 
				     | 
			 
			
				
  | 
			 
			
				I have an app that performs scans and returns information
 
like what windows updates it has, services running, programs installed,
 
browsesr history, etc.  Scans will be performed once a week and sent to
 
a server.  The server will only save the most recent scan and store the
 
rest in a history database.  I have the methods for inserting and they
 
work fine.  However I am stuck with the task of getting this to work
 
after a scan from a PC is already stored.  The procedure will have to
 
check the AssetName from tblAsset and compare it to the equivalent in
 
my XML input.  It will get the associated ScanID and use that to make
 
updates in tblScan and tblScanDetail.
 
 
ALTER PROCEDURE csTest.StoredProcedure1 (@doc NTEXT)
 
 
AS
 
declare @iTree int
 
declare @assetid int
 
declare @scanid int
 
create table #temp (ID nvarchar(50), ParentID nvarchar(50), Name
 
nvarchar(50), scanattribute nvarchar(50))
 
create table #dup (attid nvarchar(50), name nvarchar (50), ID
 
nvarchar(50))
 
 
        /* SET NOCOUNT ON */
 
 
        EXEC sp_xml_preparedocument @iTree OUTPUT, @doc
 
 
        INSERT INTO tblAsset (AssetName, DatelastScanned, LastModified)
 
        SELECT *, LastModified = getdate() FROM  openxml(@iTree,
 
'ComputerScan', 1)
 
                        WITH (
 
                                ComputerName nvarchar(30) 'computer/ComputerName',
 
                                DatelastScanned smalldatetime 'scanheader/ScanDate'
 
                                )
 
 
        set @assetid = scope_identity()
 
 
        INSERT INTO tblScan (AssetName, ScanDate, AssetID, LastModified)
 
        SELECT *, @assetid, LastModified = getdate() FROM openxml(@iTree,
 
'ComputerScan', 1)
 
                        WITH (
 
                                ComputerName nvarchar(30) 'computer/ComputerName',
 
                                ScanDate smalldatetime 'scanheader/ScanDate'
 
                                )
 
 
        SET @scanid = scope_identity()
 
 
        INSERT INTO #temp
 
        SELECT *  FROM openxml(@iTree,
 
'ComputerScan/scans/scan/scanattributes/scanattribute', 1)
 
                        WITH(
 
                                ID nvarchar(50) './@ID',
 
                                ParentID nvarchar(50) './@ParentID',
 
                                Name nvarchar(50) './@Name',
 
                                scanattribute nvarchar(50) '.'
 
                                )
 
 
        INSERT INTO #dup
 
        SELECT ScanAttributeID, #temp.scanattribute, #temp.ID FROM
 
tblScanAttribute, #temp
 
        WHERE tblScanAttribute.Name = #temp.Name
 
 
INSERT INTO tblScanDetail(Instance, ScanAttributeID, ScanID,
 
AttributeValue, LastModified)
 
SELECT instance = (select count(*) from #dup where #dup.attid =
 
tblScanAttribute.ScanAttributeID AND ((#dup.name<#temp.scanattribute)
 
                               or (#dup.name=#temp.scanattribute) and
 
(#dup.ID<=#temp.ID))),
 
 tblScanAttribute.ScanAttributeID, tblScan.ScanID, #temp.scanattribute,
 
getdate()
 
FROM tblScanAttribute, #temp, tblScan
 
WHERE tblScanAttribute.Name = #temp.Name
 
ORDER BY tblScan.ScanID
 
 
drop table #temp
 
drop table #dup
 
 
EXEC sp_xml_removedocument @iTree
 
 
RETURN | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		rose
 
 
  Joined: 21 Feb 2006 Posts: 29
 
  | 
		
			
				 Posted: Sun May 28, 2006 9:48 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Can you clarify what error you are getting?
 
I know you say its an update error, but what exactly is happening? | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
   
 
  
Powered by phpBB © 2001, 2002 phpBB Group
  
		 |