Dorota Trybała

Dorota Trybała
Projektant-programis
ta

Temat: Źródło danych CR i aplikacja ADO.NET

Mam aplikację w ADO.NET, która przetworzone dane prezentuje w CR for VS 2010. Nazwa źródła danych ODBC jest na sztywno zaszyta we właściwościach raportu.

Chciałabym zapisać je w app.config aplikacji. Jak to zrobić?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Źródło danych CR i aplikacja ADO.NET

Proponuję w app.config przechowywać connectionstring do bazy danych, a źródło raportu podmieniać w locie.

Problem podmiany źródła danych był już poruszony w tym wątku:
http://www.goldenline.pl/forum/3258946/net-tworzenie-r...Ten post został edytowany przez Autora dnia 13.05.13 o godzinie 15:16
Dorota Trybała

Dorota Trybała
Projektant-programis
ta

Temat: Źródło danych CR i aplikacja ADO.NET

Szczerze mówiąc, to nie bardzo rozumiem, a podchodzę do tematu już nie po raz pierwszy, bo tamten wątek też już wcześniej czytałam, ale nie umiem go zastosować.

Co mam wpisać w connectionstringu i co dalej? Mogę prosić o prostsze wyjaśnienie?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Źródło danych CR i aplikacja ADO.NET

Tak jak zauważyłaś raport przechowuje parametry dostępu do bazy danych (wszystkie oprócz hasła).

Jeśli twój raport korzysta z połączenia ODBC to wystarczy w Windowsie, w panelu sterowania zdefiniować źródło o takiej samej nazwie i raport będzie działać. Nie musisz nic oprogramowywać.

Jeśli natomiast używasz sterowników OleDb lub natywnych to musisz w swojej aplikacji po załadowaniu raportu podmienić źródło danych (podobnie jak opcja Set Location w CR) i dopiero później go wygenerować (podgląd lub eksport).

Podmianę źródła danych dokonuje się za pomocą odpowiednich metod w Crystal Reports API. Generalnie musisz przelecieć po liście tabel i ustawić ich lokalizację na podstawie Connection String.

Niestety w CR API nie ma wprost metody, która posługuje się Connection String, dlatego trzeba dokonać konwersji.

Przykład znajdziesz tutaj:
http://www.goldenline.pl/forum/3258946/net-tworzenie-r...

Mam nadzieję, że teraz jasno wytłumaczyłem i sobie poradzisz.

Powodzenia!
Dorota Trybała

Dorota Trybała
Projektant-programis
ta

Temat: Źródło danych CR i aplikacja ADO.NET

Marcin S.:
Jeśli twój raport korzysta z połączenia ODBC to wystarczy w Windowsie, w panelu sterowania zdefiniować źródło o takiej samej nazwie i raport będzie działać. Nie musisz nic oprogramowywać.

To rozumiem i tak robię. Wytłumaczę dokładniej. Mam 2 bazy - jedną prawdziwą, klienta, drugą testową o tej samej strukturze. Nie chcę za każdym razem, gdy sprawdzam działanie programu z bazą klienta, a potem przełączam się na testową robić tego w panelu sterowania, tylko wolałabym jakoś inaczej, szczególnie że teraz mam 2 klientów z takimi samymi bazami, do tego 2 testowe. Szczególny problem jest z tymi testowymi jeśli są na tym samym serwerze. Muszą mieć inne nazwy. Ze źródłem danych do ogólnej obsługi bazy w aplikacji nie mam problemu - jest zapisana w connectionstring i w razie potrzeby podmieniam nazwę bazy, W CR musiałabym nazwę bazy podmienić we wszystkich raportach.

Dalsza część twojego postu jest dla mnie niestety niezrozumiała. Może powinnam się douczyć, ale naprawdę nie wiem dokładnie z czego.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Źródło danych CR i aplikacja ADO.NET

To może w takim razie napisać program lub skrypt, który szybko podmieni parametry w ODBC?
Tak, aby nie trzeba nic zmieniać w raporcie bo łatwo zapomnieć i zostawić parametry testowe.

Niestety nie robiłem czegoś takiego.
Dorota Trybała

Dorota Trybała
Projektant-programis
ta

Temat: Źródło danych CR i aplikacja ADO.NET

Dzięki ci, Marcin, za chęć pomocy i podsyłanie rozwiązań :-).

Temat muszę jakoś rozpracować i na pewno będę starała się sugerować tym, co napisałeś, a potem zdać z tego relację.

Pozdrawiam
Dorota

Następna dyskusja:

Jak zmigrowac istniejace ra...




Wyślij zaproszenie do