Dostęp do użytkownika i przedrostka tabeli - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html) +--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html) +--- Wątek: Dostęp do użytkownika i przedrostka tabeli (/thread-1990.html) |
Dostęp do użytkownika i przedrostka tabeli - Karoluss96 - 27-07-2022 Witam, Od kilku dni zmagam się z problemem zmiany przedrostka (zapewne chodzi o nazwę schematu bazy danych) oraz użytkownika podczas wczytywania źródła danych. Wprowadziłem możliwość zmiany wczytywania nazwy schematu (województwa), dzięki czemu powiaty z danego województwa dostosowują się do akuratnie wybranego schematu bazy, ale załączony kod nie wczytuje zmiany schematu i użytkownika (choć go pobiera z pola tekstowego) do źródła danych (czerowna ramka w zrzucie- TERYT przy klasie BDOT10k potwierdza że nie jest prawidłowe). Kod to PyQt do tworzenia wtyczek do QGIS. Z Góry dziękuje za każdą pomoc. Kod: config = configparser.ConfigParser() RE: Dostęp do użytkownika i przedrostka tabeli - xmaziax - 27-07-2022 Tak to opisałeś, że nie bardzo wiadomo o co chodzi... Tworzysz klasę config. Czytasz .ini Potem ustawiasz wartości dla poszczególnych parametrów odczytanych z .ini (nie wiadomo jak ten plik u Ciebie wygląda). Następnie robisz coś z wpisami pod UstawieniaOgolne i aktualizujesz jakąś listę powiatów. Potem umożliwiasz wpisanie usera/schematu (Oracle więc, to można powiedzieć, że to jest jednoznaczne) i hasło. Na końcu tworzysz połączenie. Parametry połączenia to są zwykłe str czy tam int (port). Więc po prostu przed zestawieniem połączenia musisz sobie złożyć te atrybuty i ustawić je dla obiektu db. Mam wrażenie, że coś przekombinowałeś tak to komplikując (albo wyciąłeś istotne fragmenty kodu, bo zakomentowane masz linie z opisem, że coś aktualizujesz w zakładkach itp.) Przeanalizuj sobie na spokojnie co i jak robisz, gdzie trzymasz poszczególne parametry połączenia, w jakich momentach się one zmieniają, bo wygląda, że w tym tkwi problem. Wtedy powinieneś sobie z nim poradzić. Tak przy okazji, chcesz robić schematy/userów z nazw województw? Oczywiście nie używasz w nich polskich znaków? Używanie Oracle’a w połączeniu z QGIS uważam za masochizm, ale co kto lubi ? RE: Dostęp do użytkownika i przedrostka tabeli - Karoluss96 - 03-08-2022 Tak, parametrami połączenia są zwykle stringi (województwa są zamieniane przez WODGIK02...32) i ustawiłem ich złożenie Czyli jak rozumiem zmiana nazwy schematu i hasło do niego ma iść do .ini, gdzie mają być na bieżąco aktualizowane? Jeśli tak to dziękuje (czyli muszę wprowadzić kod tak, aby plik .ini się zmieniał w zależności od ustawionych parametrów). Jak dalej będę mieć z tym problemy to dam znać RE: Dostęp do użytkownika i przedrostka tabeli - xmaziax - 03-08-2022 Wszystko zależy od tego jak działa twój plugin. Do zmienionego połączenia powinieneś wyciągnąć dane z ini i podmienić sobie 2 zmienne schemat/user i pass (bo tak chyba działasz) W Twoim przypadku wygląda, że nie robisz tej podmiany, albo wydaje Ci się, że robisz, ale aplikacja ciągle używa danych odczytanych z ini. Musisz sobie sprawdzić wartości tych 2 zmiennych w trakcie wykonywania, nawet zwykłym printem, bo wg mnie tutaj jest problem. |