Avatar billede borrisholt Novice
16. december 2004 - 08:35 Der er 4 kommentarer og
1 løsning

Remote Query

Hej Eksperter

Jeg har brug for at exekvere SQL på en remote SQL server. Jeg har kigget en del på OpenQuery og har som sådan også fået den til at virke. Problemet med den er blot at min Query SKAL retunere et dataset ellers terminerer den bare, jeg kan med andere ord ikke fx. Instalere en stored procedure.

jeg har registeret min remote server nede i sysservers. Med "friendly" name Tim, så jeg kan bruge det i OpenQuery. Jeg har væert ved at ekspermentere lidt med nogle præfixes og er på sporet af at man kan præfixe med dit frindlyname på din OLEDB Provider.

Et eksempel :
  select * from tim.dbbo..lager  (DBBO er Database navnet)

men så får jeg bare at vide at tabellen ikke findes :
OLE DB provider 'tim' does not contain table '"dbbo"."lager"'.  The table either does not exist or the current user does not have permissions on that table.


Hvis jeg gør det gennem OpenQuery Virker det fint :
  select * from OpenQuery(Tim, 'select * from dbbo..Lager')

Mine spørgsmål er nu :
a)
  Findes der en OpenQuery pandant som ikke kræver et datasæt retur ?
b)
  Er der nogen der kan fortælle mig hvordan jeg præfixer med servernavn i en Query  ?

Jens B
Avatar billede janus_007 Nybegynder
16. december 2004 - 11:42 #1
Istedet for at bruge OpenQuery og remoteserver så kunne du arbejde med Linked Servers, dette gøres ca. samme sted. Den vil gøre det du gerne vil :O)
Avatar billede borrisholt Novice
16. december 2004 - 11:49 #2
janus>> Tak det har jeg funder ud af i mellemtiden. Jeg har en linked Server som jeg har oprettet og har frobindelse til. Jeg skal se den i Enterprice manager. Og jeg har linked til den rigtige database.

Min linked Server hedder tim, hvis nu jeg gerne vil have indholdet af en tabel der hedder Lager på "tim" hvad skriver jeg så ?

Jeg har prøvet med : select * from tim...Lager

Men får fejlen :
OLE DB provider 'tim' does not contain table 'Lager'.  The table either does not exist or the current user does not have permissions on that table.

På "Tim" serveren er jeg loggeet ind med sa.

Jens B
Avatar billede janus_007 Nybegynder
16. december 2004 - 16:20 #3
Du skal bruge four-partnaming dvs.

servername.databasename.databaseowner.tablename

Når du opretter din linked server under security fanebladet prøv at vælge "Be made using this security context"
Avatar billede borrisholt Novice
17. december 2004 - 15:44 #4
Perfekt Janus tak skal du have. Lig et svar og der er points.

Jens B
Avatar billede borrisholt Novice
26. december 2004 - 13:54 #5
OKI Så  tager jeg dem selv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester