W momencie pojawienia się komunikatu dotyczącego QueryTimeout w aplikacjach Symfonia należy w pierwszej kolejności zalogować się do serwera SQL za pomocą SQL Server Management Studio.
Następnie należy przejść w ustawienia serwera klikając na jego nazwę prawym przyciskiem myszy i wybrać opcję Properties -> Connections
Należy zmienić parametr Remote Query Timeout na wartość 0.
Po tej czynności należy zakończyć pracę z aplikacjami Symfonii (zamknąć otwarte połączenia do baz danych) oraz uruchomić usługę SQL ponownie, po resecie zweryfikować czy problem nadal występuje.
W przypadku jeśli zmiana parametru od strony samego SQL-a nie rozwiązała problemu należy wówczas odnaleźć plik konfiguracyjny dla danego modułu. Wszystkie pliki konfiguracyjne znajdują się w katalogu:
C:\Users\nazwa_uzytkownika\AppData\Roaming\Sage\Config
Nazwa aplikacji |
Nazwa pliku konfiguracyjnego |
Symfonia Kadry I Płace |
SageKiP.INI |
Symfonia Finanse I Księgowość (F50) |
Sage50.INI |
Symfonia Środki Trwałe (S50) |
Sage50ST.INI |
Symfonia Środki Handel (H50) |
Sage50H.INI |
Symfonia ERP Finanse I Księgowość |
amfkSQL.INI |
Symfonia ERP Handel |
AMHMSQL.INI |
Symfonia ERP Środki Trwałe |
AMSTSQL.INI |
Po odnalezieniu właściwego pliku należy edytować go w notatniku lub dowolnym edytorze tekstowym. Edycja polega na dodaniu sekcji :
[Timeout]
QueryTimeout=600
Należy zapisać wprowadzone zmiany oraz ponownie uruchomić jednostkę. Po modyfikacji plik powinien wyglądać następująco:
Jeśli timeout w wysokości 600 nie jest wystarczający, można spróbować wyższych wartości bądź wpisać tu także 0, ustawiając brak ograniczeń czasowych,
Konfiguracja dodatkowego timeout’a znajduje się w pliku .exe.config w katalogu z zainstalowanym programem. W celu modyfikacji należy przejść do katalogu, skopiować jeden z poniższych plików przykładowo na pulpit, zmodyfikować oraz zapisać zmiany a następnie podmienić w katalogu z programem. |
Nazwa aplikacji |
Nazwa pliku .exe.config |
Symfonia Kadry I Płace |
SageKiP.exe.config |
Symfonia Finanse I Księgowość (F50) |
Sage50.exe.config |
Symfonia Środki Trwałe (S50) |
Sage50ST.exe.config |
Symfonia Handel (H50) |
Sage50H.exe.config |
Symfonia ERP Finanse I Księgowość |
amfkSQL.exe.config |
Symfonia ERP Handel |
AMHMSQL.exe.config |
Symfonia ERP Środki Trwałe |
AMSTSQL.exe.config |
Każdy z w/w plików znajduje się w katalogu z programem, domyślnie:
- Kadry i Płace – C:\Program Files (x86)\Sage\KiP\wersja
- Symfonia 50C – C:\Program Files (x86)\Sage\Sage50c\wersja
- Symfonia ERP – C:\Program Files (x86)\Sage\KiP
Ścieżki mogą być inne, w takim wypadku aby przejść do katalogu z programem wystarczy wybrać PPM na skrócie do aplikacji oraz opcję Otwórz lokalizację pliku
Uwaga! Przy zapisywaniu pliku, należy zwrócić uwagę na format zapisywanego pliku. W przypadku jeśli plik zostanie zapisany jako .txt aplikacja nie będzie w stanie prawidłowo go odczytać. W sekcji Zapisz jako typ należy wybrać Wszystkie pliki |
Query Timeout dla aplikacji Symfonia Kadry i Płace
Do pliku ustawień SageKip.exe.config znajdującym się w katalogu z programem, dodano parametr SQLConnectionStatementTimeout sterujący czasem wygaśnięcia operacji SQL.
Zwiększenie wartości parametru pomaga rozwiązać problem z Timeout podczas wykonywania kopii bezpieczeństwa firmy. Przed rozpoczęciem modyfikacji pliku, zalecamy wykonanie kopii.
Modyfikację z racji wymaganych uprawnień należy przeprowadzić w innym katalogu niż z instalacją programu. W sekcji <appSettings> należy zmodyfikować linijkę:
<add key="SQLConnectionStatementTimeout" value="600" />
Poprzez usunięcie zaznaczonej wartości:
<!-- przy backup bazy danych trwających powyżej 600 sekund (domyślnie) można zmienić na wyższą wartość. Obsługiwana również wartość 0.
<add key="SQLConnectionStatementTimeout" value="600" />
-->
Query Timeout dla aplikacji Symfonia / Symfonia ERP
W aplikacji Symfonia / Symfonia ERP aby zwiększyć timeout należy dokonać modyfikacji w pliku .exe.config znajdującym się w katalogu z instalacją programu.
Przed rozpoczęciem modyfikacji pliku, zalecamy wykonanie kopii. Modyfikację z racji wymaganych uprawnień należy przeprowadzić w innym katalogu niż z instalacją programu.
W sekcji <appSettings> należy zmodyfikować linijkę:
<!--<add key="ExecuteCommandTimeout" value="600"/>-->
Poprzez usunięcie zaznaczonej wartości: <!—oraz -->
W przypadku jeśli w/w wpisu brakuje, należy go dopisać w sekcji <appSettings>
<add key="ExecuteCommandTimeout" value="600"/>