Temat: Przepinanie raportu na inny schemat bazy

Witam,

próbuję przepiać raport z jednego schematu na drugi.

Gdy rpt opiera się na widoku nie mam z tym problemu, zwykły update ze wskazaniem nowego widoku wystarcza - tak jak zostało to opisane w tym wątku:

http://www.goldenline.pl/grupy/Komputery_Internet/crys...

Z commandem jest nieco gorzej, przede wszytkom przez parametry.
Tworzenie za każdym razem po 5-6 parametrów jest dość kłopotlie.
Czy nie można po prostu w innym miejscu nadpisać danych do połączenia ze schematem?

Zwłaszcza że nazwy widoków i ich struktura nie ulegają zmianie, zmienia się tylko nazwa i usera schematu i hasło do schematu bazy,

Mam do przepięcia 60 raportów, więc czeka mnie trochę pracy z tym..
Marcin S.

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

Temat: Przepinanie raportu na inny schemat bazy

Skoro Crystal sobie nie radzi, to proponuję spróbować napisać program, które poprzez Crystal Reports API podmieni parametry połączenia.

Temat: Przepinanie raportu na inny schemat bazy

A mógłbyś podsunąć mi jakieś wskazówki jak to zrobić?
Jak uzyskać dostęp do Crystal API?
Marcin S.

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

Temat: Przepinanie raportu na inny schemat bazy

1. Uruchamiasz np. Visual Studio i tworzysz projekt w C#

2. Dodajesz referencje do bibliotek:
- CrystalDecisions.CrystalReports.Engine.dll
- CrystalDecisions.ReportSource.dll
- CrystalDecisions.Shared.dll

3. Jeśli chodzi o zmianę parametrów połączenia do bazy danych to w przypadku tabel wygląda to następująco:



ReportDocument rpt = new ReportDocument();

rpt.Load(path);

foreach (Table table in ReportDocument.Database.Tables)
{
var connectionInfo = table.LogOnInfo.ConnectionInfo;
connectionInfo.UserID = "user";
connectionInfo.Password = "password";

table.ApplyLogOnInfo(table.LogOnInfo);

}


rpt.Save("raport.rpt");

rpt.Dispose();



W przypadku Command pewnie trzeba coś jeszcze zrobić.

Jak będę miał chwilę to sprawdzę.Ten post został edytowany przez Autora dnia 21.05.14 o godzinie 14:43



Wyślij zaproszenie do