Con questa procedura è possibile richiamare una funzione su un server remoto, fare attenzione che prima devono essere abilitate le chiamate remote come descritto nel precedente post.
Creare la tabella Temporanea
CREATE TABLE #tmp (
cod char(10) ,
username varchar(80),
Codice_web varchar(10)
)
Dichiarare i parametri:
declare @la float
declare @lo float
declare @categoria nvarchar(MAX)
Dichiarare una stringa dove è possibile inserire i parametri:
DECLARE @sqlQuery VARCHAR(8000)
SET @sqlQuery = 'SELECT cod
, username
,Codice_web
FROM [DBRemoto].[dbo].[GeoSearch](
' + str(@lo) + '
, ' + str(@la) + '
, ''''' + @categoria + '''''
)'
E la stringa dove effettuare la chiamata remota e inserisci i risultati nella tabella temporanea:
DECLARE @finalQuery VARCHAR(8000)
SET @finalQuery = 'INSERT into #tmp SELECT cod
, username
,Codice_web
FROM OPENQUERY([ServerCollegato],' + '''' + @sqlQuery + '''' + ')'
Alla fine si esegue la chiamata con
EXEC (@finalQuery)
select * from #tmp
drop table #tmp
venerdì 25 febbraio 2011
Iscriviti a:
Post (Atom)