Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.631 pregleda

Najnovija ↓

Poziv user defined function na linkovnom serveru 06.09.2006. u 11:33 · pre 245 meseci #1
Prvo sam ulinkovao server pozivanjem sledecih procedura:

exec sp_addlinkedserver 'Server'
exec sp_addlinkedsrvlogin 'Server', False, NULL, 'sa', 'password'
i kad izvrsim sp_linkedservers dobijem prikaze mi da je Server ulinkovan ali kad odradim sledeci upit:

select * from Server.Baza.dbo.Naziv funkcije (parametar)

izbaci mi gresku: "Incorrect syntax near '('". Ako sklonim zagradu on Naziv funkcije vidi kao tabelu.
Kad funkciju pozovem na serveru na kom se nalazi ona mi vraca podatke.
Da li neko zna gde gresim ili kako se pozivaju distribuirane funkcije sa parametrom?
Re: Poziv user defined function na linkovnom serveru 06.09.2006. u 19:13 · pre 245 meseci #2
Jesi li ti pogresio u kucanju posta ili si stvarno napisao select * from <ime funkcije> ?
U select upitu funkcija ne moze doci na mesto tabele jer funkcija moze da vrati samo jednu vrednost (a ne tabelu).
Jedino sto mozes uraditi je select <ime funkcije>(<parametri>) [from <neka tabela>]
Re: Poziv user defined function na linkovnom serveru 08.09.2006. u 16:45 · pre 245 meseci #4
Izvinjavam se. Stvarno nisam znao da je to moguce a cak mislim da sam to negde i procitao.
Uglavnom, pogledao sam u cemu je problem. Problem je da SQL Server 2000 ne dozvoljava izvrsavanje korisnickih metoda preko linovanih servera.
Jedno od zaobilaznih resenja je:
Code:

select * from openquery(Server, 'select * from Baza.dbo.funkcija(parametar)')


Ako ces prosledjivati parametar preko promenljivih (a najverovatnije hoces) moras koristiti sledece:
Code:

exec Server.master.dbo.sp_executesql N'select * from Baza.dbo.funkcija(@parametar)', N'@parametar int', @parametar = 1


Ako ti se pojavi poruka da za linkovan server nije dozvoljeno izvrsavanje RPC-a, mozes ih ukljuciti koriscenjem enterprise manager-a ili na sledeci nacin:
Code:

exec sp_serveroption N'Server', N'rpc', N'true' 
exec sp_serveroption N'Server', N'rpc out', N'true' 


http://support.microsoft.com/default.aspx?scid=kb;en-us;Q319138

Jos jednom se izvinjavam. Ubuduce cu pazljivije odgovarati.
Pozdrav.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme