Używam narzędzia do raportowania birt od roku. jego fajny produkt bardzo dobry.
Dzisiaj mam problem. że chcę ustawić zmienną użytkownika mysql podczas ładowania raportu jako przykład SET @user="USR009";
Wypróbowałem kilka sposobów, aby to zrobić, ale nie mogłem uzyskać odpowiedzi, czy ktoś mógłby mi pomóc w tej sprawie, bardzo dziękuję
utknąłem na tym problemie
pozdrowienia roshan
Odpowiedzi:
2 dla odpowiedzi № 1Możesz ustawić wartość w zapytaniu za pomocą parametru raportu i zainicjować ją w skrypcie.
- Dodaj parametr raportu (PARAMETER_1)
- Dodaj „SET @user = QUERY_PARAMETER;” przed wyciągiem select w zbiorze danych.
- Po wybraniu zestawu danych wybierz kartę skryptu i znajdź menu rozwijane „beforeOpen”. Tutaj dodaj wiersz:
this.queryText = this.queryText.replace("QUERY_PARAMETER", params["PARAMETER_1"].value);
Skrypt zastąpi wszystkie wystąpienia QUERY_PARAMETER tekstem. Nadal możesz potrzebować cudzysłowów w instrukcji set (tj. SET @user = "QUERY_PARAMETER";).
2 dla odpowiedzi nr 2
Problem został rozwiązany, utwórz SP
delimiter //
Create PROCEDURE abcd(param INT)
BEGIN
SET @USER=param;
SELECT @USER;
END//
A w zapytaniu wywołaj SP z varible;
działa jak urok