harlingtonthewizard
Constraint Violating Yak Guru
352 Posts |
Posted - 2010-04-13 : 03:28:32
|
I ended up importing the required images into a temp table for use on a report by using the following example stored procedure.USE [VC]GO/****** Object: StoredProcedure [dbo].[Event_Image] Script Date: 04/13/2010 16:57:20 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Steve Harlington-- Create date: <Create Date,,>-- Description: <Description,,>-- =============================================ALTER Procedure [dbo].[Event_Image]@EventID nvarchar(255),@DBName nvarchar (max)ASSET NOCOUNT ONDeclare @File As nvarchar(255)Declare @Path As nvarchar(255)Declare @EventID1 As intDeclare @EventExtraDataID As intDeclare @sql As nvarchar(max)Select @sql=''Select @sql=@sql+ 'Select EventDetails.EventID, EventExtraDataID, EntryValue + ''\EventExtraData\'' + CAST(SiteID As nvarchar(3)) + ''\'' + CAST(DATEPART(yyyy, EventStartTime) As nvarchar(4)) + ''\'' + CAST(DATEPART(mm, EventStartTime)As nvarchar(2)) + ''\'' + CAST(DATEPART(dd, EventStartTime)As nvarchar(2)) + ''\'' + FileName As [Path], FileName As [FileName]FROM '+name+'.dbo.EventDetailsInner Join '+name+'.dbo.EventExtraData ON '+name+'.dbo.EventDetails.EventID = '+name+'.dbo.EventExtraData.EventIDLeft Join '+name+'.dbo.VCSystemData ON VCSystemData.EntryName = ''VCPDataRootPath''WHERE EventDetails.EventID IN (Select Param From fn_MVParam ('''+@EventID+''','',''))AND '''+name+''' IN (Select Param From fn_MVParam ('''+@DBName+''','','')) ' from sys.databases where name='VC' or name like 'VCA%' CREATE TABLE #i ([EventID] int, [EventExtraDataID] int, [Path] nvarchar(255), [FileName] nvarchar(max))INSERT INTO #i ([EventID], [EventExtraDataID], [Path], [FileName])Exec(@sql)CREATE TABLE #ib (ID int IDENTITY(1,1) NOT NULL, [FileName] nvarchar(255) NOT NULL, [Path] varbinary(max), [EventID] int, [EventExtraDataID] int)DECLARE insert_cursor CURSOR FORSelect [EventID], [EventExtraDataID], [Path], [FileName] from #iOPEN insert_cursorFETCH NEXT FROM insert_cursorINTO @EventID1, @EventExtraDataID, @Path, @FileWHILE @@FETCH_STATUS = 0 BEGIN --Print @Path --Print @File EXEC('INSERT INTO #ib ([EventID], [EventExtraDataID], [FileName], [Path]) SELECT ''' + @EventID1 + ''', ''' + @EventExtraDataID + ''', ''' + @File + ''', * FROM ( SELECT * FROM OPENROWSET(BULK ''' + @Path + ''', SINGLE_BLOB) As rs) As im') FETCH NEXT FROM insert_cursor INTO @EventID1, @EventExtraDataID, @Path, @File ENDCLOSE insert_cursorDEALLOCATE insert_cursor--Select * from #iSelect * from #ibDrop table #iDrop Table #ibSET NOCOUNT OFFRETURN |
 |
|