ďťż
 
[newbie] MS SQL - praca =?ISO-8859-2?Q?jednocze=B6nie_na_2_?==?ISO-8859-2?Q?bazach_=28linkowanie_=3F=29?= ďťż
 
[newbie] MS SQL - praca =?ISO-8859-2?Q?jednocze=B6nie_na_2_?==?ISO-8859-2?Q?bazach_=28linkowanie_=3F=29?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[newbie] MS SQL - praca =?ISO-8859-2?Q?jednocze=B6nie_na_2_?==?ISO-8859-2?Q?bazach_=28linkowanie_=3F=29?=



xclone - 28-06-2007 00:01
[newbie] MS SQL - praca =?ISO-8859-2?Q?jednocze=B6nie_na_2_?==?ISO-8859-2?Q?bazach_=28linkowanie_=3F=29?=
  Witam.

Problem mam następujący:
Mam 2 bliźniaczo zbudowane bazy (programu wf-mag), zawierające dane z 2
profili firmy. Chcę raportować Szefowi w CrystalRep.11 dane z obu
profili w jednym raporcie. Czy jest możliwość (a jeśli tak, to w jaki
sposób) odpytywania 2 baz w jednym momencie ? Chciałbym utworzyć taki
link między tymi bazami, żeby CR11 myślał, że to jedna baza, lub żeby
potrafił ciągnąć dane z obu. Bazy stoją na jednym serwerze (choć to
chyba nie ma jakiegokolwiek znaczenia).

Dziękuję za pomoc.

--
Pozdr.
xclone





Marcin Miga - 28-06-2007 00:01
=?iso-8859-2?q?Re:_MS_SQL_-_praca_jednocze=B6nie_na_2_bazach_(linkowanie_=3F) ?=
 
xclone napisał(a):
> Witam.
>
> Problem mam następujący:
> Mam 2 bliźniaczo zbudowane bazy (programu wf-mag), zawierające dane z2
> profili firmy. Chcę raportować Szefowi w CrystalRep.11 dane z obu
> profili w jednym raporcie. Czy jest możliwość (a jeśli tak, to w jaki
> sposób) odpytywania 2 baz w jednym momencie ? Chciałbym utworzyć taki
> link między tymi bazami, żeby CR11 myślał, że to jedna baza, lub żeby
> potrafił ciągnąć dane z obu. Bazy stoją na jednym serwerze (choć to
> chyba nie ma jakiegokolwiek znaczenia).

Ma znaczenie. Dla różnych serwerów musiałbyś robić linked serwer lub
cos podobnego (openrowset, opendatasource...) - w każdym bądź razie
nic łatwego i przyjemnego.
Dla jednego serwera i różnych baz to tak:
SELECT * FROM baza1.schemat1.tabela1 , baza2.schemat2.tabela2
oczywiscie schematy mozna pominac.

pozdrawiaMM




xclone - 28-06-2007 00:01

  hMarcin Miga pisze:

> Dla jednego serwera i różnych baz to tak:
> SELECT * FROM baza1.schemat1.tabela1 , baza2.schemat2.tabela2
> oczywiscie schematy mozna pominac.
>
> pozdrawiaMM
>
hmm.. to chyba nie będzie takie "proste" :/
obecnie zapytanie kierowane przez CRXI wygląda następująco:

SELECT "WIDOK_DOKUMENTHANDLOWY"."Numer",
"WIDOK_POZYCJADOKUMENTU"."StawkaVAT", "WIDOK_KONTRAHENT"."Nazwa",
"WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy",
"WIDOK_DOKUMENTHANDLOWY"."TerminPlatnosci",
"WIDOK_DOKUMENTHANDLOWY"."WartoscNetto",
"WIDOK_DOKUMENTHANDLOWY"."WartoscBrutto",
"WIDOK_DOKUMENTHANDLOWY"."WartoscVAT",
"WIDOK_DOKUMENTHANDLOWY"."Pozostalo",
"DOKUMENT_HANDLOWY"."DATA_OST_ROZLICZENIA", "WIDOK_ARTYKUL"."Nazwa1",
"WIDOK_DOKUMENTHANDLOWY"."TypDokumentu"
FROM (((DOKUMENT_HANDLOWY "DOKUMENT_HANDLOWY" INNER JOIN
WIDOK_DOKUMENTHANDLOWY "WIDOK_DOKUMENTHANDLOWY" ON
"DOKUMENT_HANDLOWY"."NUMER"="WIDOK_DOKUMENTHANDLOW Y"."Numer") INNER JOIN
WIDOK_KONTRAHENT "WIDOK_KONTRAHENT" ON
"WIDOK_DOKUMENTHANDLOWY"."IdKontrahenta"="WIDOK_KO NTRAHENT"."IdKontrahenta")
INNER JOIN WIDOK_POZYCJADOKUMENTU "WIDOK_POZYCJADOKUMENTU" ON
"WIDOK_DOKUMENTHANDLOWY"."IdDokumentu"="WIDOK_POZY CJADOKUMENTU"."IdDokumentuHandlowego")
INNER JOIN WIDOK_ARTYKUL "WIDOK_ARTYKUL" ON
"WIDOK_POZYCJADOKUMENTU"."IdArtykulu"="WIDOK_ARTYK UL"."IdArtykulu"
WHERE ("WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy">={ts '2007-06-01
00:00:00'} AND "WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy"<{ts '2007-06-30
00:00:01'})

możesz mi podpowiedzieć, jak to zastosować do powyższego ? (pomijam, że
narazie nie wiem, czy CR będzie potrafił wykonać zapytanie przeze mnie
napisane... :) )
however - dzięki za pomoc.




Marcin Miga - 29-06-2007 00:00
=?iso-8859-2?q?Re:_MS_SQL_-_praca_jednocze=B6nie_na_2_bazach_(linkowanie_=3F) ?=
  On 27 Cze, 20:12, xclone <xcl...@irc.pl> wrote:
> hmm.. to chyba nie będzie takie "proste" :/
> obecnie zapytanie kierowane przez CRXI wygląda następująco:
>
> SELECT "WIDOK_DOKUMENTHANDLOWY"."Numer",
> "WIDOK_POZYCJADOKUMENTU"."StawkaVAT", "WIDOK_KONTRAHENT"."Nazwa",
> "WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy",
> "WIDOK_DOKUMENTHANDLOWY"."TerminPlatnosci",
> "WIDOK_DOKUMENTHANDLOWY"."WartoscNetto",
> "WIDOK_DOKUMENTHANDLOWY"."WartoscBrutto",
> "WIDOK_DOKUMENTHANDLOWY"."WartoscVAT",
> "WIDOK_DOKUMENTHANDLOWY"."Pozostalo",
> "DOKUMENT_HANDLOWY"."DATA_OST_ROZLICZENIA", "WIDOK_ARTYKUL"."Nazwa1",
> "WIDOK_DOKUMENTHANDLOWY"."TypDokumentu"
> FROM (((DOKUMENT_HANDLOWY "DOKUMENT_HANDLOWY" INNER JOIN
> WIDOK_DOKUMENTHANDLOWY "WIDOK_DOKUMENTHANDLOWY" ON
> "DOKUMENT_HANDLOWY"."NUMER"="WIDOK_DOKUMENTHANDLOW Y"."Numer") INNER JOIN
> WIDOK_KONTRAHENT "WIDOK_KONTRAHENT" ON
> "WIDOK_DOKUMENTHANDLOWY"."IdKontrahenta"="WIDOK_KO NTRAHENT"."IdKontrahenta"*)
> INNER JOIN WIDOK_POZYCJADOKUMENTU "WIDOK_POZYCJADOKUMENTU" ON
> "WIDOK_DOKUMENTHANDLOWY"."IdDokumentu"="WIDOK_POZY CJADOKUMENTU"."IdDokument*uHandlowego")
> INNER JOIN WIDOK_ARTYKUL "WIDOK_ARTYKUL" ON
> "WIDOK_POZYCJADOKUMENTU"."IdArtykulu"="WIDOK_ARTYK UL"."IdArtykulu"
> WHERE ("WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy">={ts '2007-06-01
> 00:00:00'} AND "WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy"<{ts '2007-06-30
> 00:00:01'})
>
> możesz mi podpowiedzieć, jak to zastosować do powyższego ? (pomijam, że
> narazie nie wiem, czy CR będzie potrafił wykonać zapytanie przeze mnie
> napisane... :) )
> however - dzięki za pomoc.

A spróbuj może sam, co? Potem wypiszesz ew. errory.
A poza tym, to piszesz jakoś tak nie-po-sql-owemu.
W MS SQL generalnie pisze się w [], a nie w "". Oprócz tego nie wiem,
co to {ts '2007-06-30 00:00:01'} - jakieś ts, a dodatkowo w {} ??
A na dodatek nigdzie nie widzę abyś korzystał z dwóch baz danych...
Pisałem wyraźnie: baza1.schemat1.tabela1. A pisząc, że schemat możesz
pominąć miałem na myśli, że... możesz pominąć schemat, więc wyglądało
by to tak: ... FROM baza1..tabela1. Wtedy zostanie pobrany domyślny
schemat...

pozdrawiaMM





xclone - 30-06-2007 00:02

  Marcin Miga pisze:
> A spróbuj może sam, co? Potem wypiszesz ew. errory.

no, to właśnie efekt próby - popatrzyłem na zapytanie kierowane przez
CRXI i zbaraniałem, bo nie potrafiłem zastosować twoej rady do tego, co
zobaczyłem - dlatego poprosiłem o dalszą podpowiedź..

> A poza tym, to piszesz jakoś tak nie-po-sql-owemu.
> W MS SQL generalnie pisze się w [], a nie w "". Oprócz tego nie wiem,
> co to {ts '2007-06-30 00:00:01'} - jakieś ts, a dodatkowo w {} ??

taką składnią operuje CRXI.. za wiele na to nie poradzę..
a co do ts - parametr raportu - data

> A na dodatek nigdzie nie widzę abyś korzystał z dwóch baz danych...
> Pisałem wyraźnie: baza1.schemat1.tabela1. A pisząc, że schemat możesz
> pominąć miałem na myśli, że... możesz pominąć schemat, więc wyglądało
> by to tak: ... FROM baza1..tabela1. Wtedy zostanie pobrany domyślny
> schemat...

no, tyle to zrozumiałem, tylko chodziło mi o zastosowanie twojej
wskazówki do zapytania z CRXI.. czyli właśnie do tego galimiatiasu,
który wkleiłem..
no nic, jakoś spróbuję sobie poradzić.. dziękuję

--
Pozdr.
xclone




LadyRoot - 02-07-2007 00:00
=?iso-8859-2?Q?Re:_MS_SQL_-_praca_jednocze=B6nie_na_2_bazach_=28linko?==?iso-8859-2?Q?wanie_=3F=29?=
 
Użytkownik "xclone" <xclone@irc.pl> napisał w wiadomości
news:f5u9as$q6i$1@news.onet.pl...
> hMarcin Miga pisze:
>
>> Dla jednego serwera i różnych baz to tak:
>> SELECT * FROM baza1.schemat1.tabela1 , baza2.schemat2.tabela2
>> oczywiscie schematy mozna pominac.
>>
>> pozdrawiaMM
>>
> hmm.. to chyba nie będzie takie "proste" :/
> obecnie zapytanie kierowane przez CRXI wygląda następująco:
>
> SELECT "WIDOK_DOKUMENTHANDLOWY"."Numer",
> "WIDOK_POZYCJADOKUMENTU"."StawkaVAT", "WIDOK_KONTRAHENT"."Nazwa",
> "WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy",
> "WIDOK_DOKUMENTHANDLOWY"."TerminPlatnosci",
> "WIDOK_DOKUMENTHANDLOWY"."WartoscNetto",
> "WIDOK_DOKUMENTHANDLOWY"."WartoscBrutto",
> "WIDOK_DOKUMENTHANDLOWY"."WartoscVAT",
> "WIDOK_DOKUMENTHANDLOWY"."Pozostalo",
> "DOKUMENT_HANDLOWY"."DATA_OST_ROZLICZENIA", "WIDOK_ARTYKUL"."Nazwa1",
> "WIDOK_DOKUMENTHANDLOWY"."TypDokumentu"
> FROM (((DOKUMENT_HANDLOWY "DOKUMENT_HANDLOWY" INNER JOIN
> WIDOK_DOKUMENTHANDLOWY "WIDOK_DOKUMENTHANDLOWY" ON
> "DOKUMENT_HANDLOWY"."NUMER"="WIDOK_DOKUMENTHANDLOW Y"."Numer") INNER JOIN
> WIDOK_KONTRAHENT "WIDOK_KONTRAHENT" ON
> "WIDOK_DOKUMENTHANDLOWY"."IdKontrahenta"="WIDOK_KO NTRAHENT"."IdKontrahenta")
> INNER JOIN WIDOK_POZYCJADOKUMENTU "WIDOK_POZYCJADOKUMENTU" ON
> "WIDOK_DOKUMENTHANDLOWY"."IdDokumentu"="WIDOK_POZY CJADOKUMENTU"."IdDokumentuHandlowego")
> INNER JOIN WIDOK_ARTYKUL "WIDOK_ARTYKUL" ON
> "WIDOK_POZYCJADOKUMENTU"."IdArtykulu"="WIDOK_ARTYK UL"."IdArtykulu"
> WHERE ("WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy">={ts '2007-06-01
> 00:00:00'} AND "WIDOK_DOKUMENTHANDLOWY"."DataSprzedazy"<{ts '2007-06-30
> 00:00:01'})
>
> możesz mi podpowiedzieć, jak to zastosować do powyższego ? (pomijam, że
> narazie nie wiem, czy CR będzie potrafił wykonać zapytanie przeze mnie
> napisane... :) )
> however - dzięki za pomoc.

O ile dobrze rozumiem, powyższe zapytanie jest na 1 z 2 baz, a ty chciałbyś
pobrać dane z dwóch baz naraz (zakładając, że są identycznej budowy).

No to wystarczy:

select * --wszystkie powyższe
from [serwer1].[baza1].właściciel.tabela join ......
union all
select * --wszystkie powyższe
from [serwer2].[baza2].właściciel.tabela join ......

na przyszłość możesz zrobić sobie taki widok i bierz wszystko z
v_moj_nowy_widok

pozdrawiam

--
LadyRoot
----------------------------
no place like 127.0.0.1
live : lady_root(a)msn.com
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [oracle] - Oracle SQL Developer - co to jest SID? [oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ? konkurs SQL Injection - 10 PLN na GSM dla pierwszej osoby, ktora dostanie sie do bazy Re: Gdzie mozna jeszcze kupic Microsoft SQL 2000 Enterprise Edition?? ustawianie uprawnien uzytkownika SQL 2005 serwer express ORAZ w msde [SQL] W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach [sybase] migracja z SQL Aynwhere 9 na ASE 15 Express Edition - dasie? Przyspieszenie =?windows-1250?Q?dost=EApu_do_tabel_w_SQL_Server_2005?= sql -> tworzenie nowej kolumny z dzielenia 2 innych i sortowanie po niej [mysql] przeszukiwanie katalogu produktow
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ptsite.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com