Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Komunikacja [.NET]->[SOAP/PHP5/Propel]->[MySQL]
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
hubertsk
Witam serdecznie wszystkich biggrin.gif ,
wymyśliłem sobie aplikacje która musi łączyć kilka ciekawych technologii.. ale jak zawsze coś staje na przeszkodzie, juz opisuje sytuacje:

Mamy sobię aplikację napisaną w C# [.NET], która musi pobrać dane z bazy MySQL umieszczonej na serwerze... nie mając bezpośredniego dostępu do samej bazy - więc dostęp via MySQL.NET connnector odpada.

Sama aplikacja komunikuję sie z silnikiem napisanym w PHP5+SOAP [NuSOAP], i za pomocą tego wykonuje odpowiednie operacje.
Chcąc pobrać informacje z serwera mogę oczywiście całą tablicę reprezentującą zestaw rekordów przesłać za pomocą SOAP, ale po stronie C# chce skożystać z takiego miłego komponentu ADO.NET, który się nazywa DataSet.
Więc musze w php pobrać dane z DB [używam do tego biblioteki Propel/Creole], a następnie przekonwertować zestaw wyników do XMLa rozumianego przez DataSet [który można tworzyć m.in z XMLa].
Czy zna może ktoś jakąś bibliotekę, która umie, może generować XML dla DataSet na podstawie np. tablicy wielowymiarowej.

Czekam na komentarze i sugestie cool.gif .
SongoQ
Odnosnie biblioteki nie moge Ci pomuc, bo niestety nie wiem.

Odnosnie tych sugesti:
Z tego co przeczytalem w Twoim poscie bedziesz robil 2 rzeczy podwojnie, raz to zwracasz dane z bazy do php przekazujesz je do aplikacji w c# a nastepnie potem np za pomoca ADO tak jak bys na tych wynikach wykonywal ponownie zapytanie. Tak to zrozumialem, jesli jest inaczej to napisz.

Ale jesli o to chodzilo to troszeczke moze sie aplikacja rozjechac. Zaluzmy ze zmodyfikujesz jakiegos selecta na php, przelsa sie wyniki a w aplikacji C# tego nie uwzglednisz i wyniki np beda zawezone itd i wtedy ....... zonk, lub 2 sytuacja masz n rekordo rzedy miliona i za kazdym razem bediesz przesylal?questionmark.gif?

Wydaje mi sie ze to sa zle podejscia.
Jeden z projektow w ktorych biore udzial oparty jest na C# <=> php <=> ORACLE i wszystko sie odbywa w 2 etapach: php komunikuje sie z baza, pobiera rekordy, zapisuje itd, a dla aplikacji C# udostepnia interfejs. Komunikacja odbywa sie po przez XML'a. Dane jakie przechodza pomiedzy serwerem a aplikacja sa ograniczone do tego co potrzebuje aplikacja.

Mysle ze troche pomoglem
hubertsk
Cytat
Z tego co przeczytalem w Twoim poscie bedziesz robil 2 rzeczy podwojnie, raz to zwracasz dane z bazy do php przekazujesz je do aplikacji w c# a nastepnie potem np za pomoca ADO tak jak bys na tych wynikach wykonywal ponownie zapytanie. Tak to zrozumialem, jesli jest inaczej to napisz.


Nie do końca - zapytanie będę wykonywał raz [w php], a konwersja do XMLa dającego sie zrozumieć przez ADO.NET ma na celu umożliwienie w C# wykonywanie operacji na tych danych, takich jak ładowanie ich do DataGrid, zapisywanie spowrotem w XML`u [dane z samego serwa mają być pobierane np. raz dziennie... a następnie składowane na komputerze z programem w C# na jakiś dzień]. Samo DataSet pozwala mi na bardzo eleganckie cache`owanie danych i wyszukiwanie odpowiednich danych tak samo szybko jak bym miał baze na tej samej maszynie. cool.gif

Cytat
Ale jesli o to chodzilo to troszeczke moze sie aplikacja rozjechac. Zaluzmy ze zmodyfikujesz jakiegos selecta na php, przelsa sie wyniki a w aplikacji C# tego nie uwzglednisz i wyniki np beda zawezone itd i wtedy ....... zonk, lub 2 sytuacja masz n rekordo rzedy miliona i za kazdym razem bediesz przesylal?questionmark.gif?


Tak, chcę mieć kontrolę z poziomu php jakie wyniki wysyłam do "Klienta" w C#.
Co do przesyłania - to masz racje, ale właśnie chodzi o ograniczenie wysyłania smile.gif
W tym wypadku dane wysyłane są raz. A następnie mogę operować lokalnie na DataSecie [nie planuje zmieniać danych - do tego mam inne mechanizmy] tongue.gif

Więc jak juz wspomniałem musze sprobować wygenerować plik XML z danymi do DataSet... czy może ktoś wie jaki format powinien mieć taki plik/strumień XML. Ew czy znacie może jakąś bibliotekę/connector MySQL->php->XML->ADO.NET questionmark.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.