![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taką sytuacje. Robię zaliczenie na studiach z rozproszonych baz danych. Muszę połączyć, ze sobą 2 serwery baz mySQL z jednym serwerem MS SQL. Po z linkowaniu w MS SQL Query Analizer w taki sposób:
i podobnie z drugim serwerem. Jeżeli wykonam zapytanie w SQL Query Analizerze takie jak to:
Wszystko jest ok, czyli połączenie działa a dane z zewnętrznej bazy pobiera prawidłowo. Teraz, jednak chciałbym zrobić coś takiego samego ale przy użyciu PHP. Zacząłem kombinować, i wymyśliłem coś takiego:
Niestety dostaję błąd: Warning: MS SQL message: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query. (severity 16) in c:\phpdev\www\mssql.php on line 7 Czy ktoś ma pomysł, jak to zrobić? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hej, Dzięki za odpowiedź, ale to nie to. Nie mogę się tutaj łączyć z bazą zaliczenie, gdyż jest ona fizycznie na zewnętrznym serwerze mySQL a w MS SQLu jest jedynie link do niej(tzw. "Linked Servers"), dlatego gdy zrobię tak jak piszesz, zwróci mi komunikat:
Warning: MS SQL message: Could not locate entry in sysdatabases for database 'zaliczenie'. No entry found with that name. Make sure that the name is entered correctly. (severity 16) in c:\phpdev\www\mssql.php on line 4 Jakieś pomysły? ;> |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Troszkę poszperałem i:
http://support.microsoft.com/kb/296769/en-us Niby to bug samej bazy mssql musisz włączyć, na ON NASI_NULLS, chociaż szczerze nigdy tym się nie zajmowałem, jeżeli to nie pomoże a znajdziesz rozwiązanie, to daj znać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hej, też to znalazłem, ale nic to nie pomogło. Zrobiłem test, i wyszukałem dane z bazy która jest na tym serwerze w MS SQLu i udało się. Tak więc, połączenie z MS SQLem działa prawidłowo. Problem tkwi raczej w zapytaniu w momencie gdy chcę pobrać dane ze z linkowanej bazy. Jest może na to jakaś metoda?
EDIT: No to wykombinowałem. Teraz działa wyśmienicie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Witam ponownie. Kontynuując temat chciałem się zapytać, jaka jest składnia jeśli chcemy dodać nowy rekord w podlinkowanej w MSSQL baze mysql po przez PHP. W necie znalazłem coś takiego:
lub podobnie
No i nie bardzo rozumiem tą składnie ale domyślam się, że przy użyciu takiego zapytania to uzupełniam jakąś tabelę wg danych z innej tabeli. Mi natomiast chodzi o to, że chcę dodać konkretny rekord tak jak to robi się przy użyciu składni wykorzystywanej w MySQLu.
Próbowałem zrobić podobnie jak w przypadku selecta do zlinkowanej bazy, ale nie działa:
EDIT: Ok znalazłem błąd trzeba było dodać * w zapytaniu i działa:
Pozdrawiam. Ten post edytował emjot27 1.06.2009, 07:51:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:56 |