Introduction
Typical situations based on the "problem-reason-solution" principle will be described below.
Enabling logging
To enable StoreHouse 5 logging,
- Open the registry editor and go to the branch HKLM\Software\USC\sdbserv.2\Server_key
- Create the DWORD uplt parameter (the maximum allowed procedure execution time in ms) with a value, for example, 100.
- Save your changes and restart the StoreHouse 5 server.
The log looks like this:
11.10.2019 14:30:10- PROCTIME DebugProc time=1.050 sec, conn_id=11, status=
How to read the log: procedure name is DebugProc, the execution time, including the commit or rollback time, is 1.05 seconds, the connection ID is 11, the procedure was completed successfully; the signature for the search is PROCTIME.
Error sending data to server Win32 = 10054
During downtime, there may be Error transmitting data to the Win32 server = 10054: The remote host forcibly terminated an existing connection.
Reason
Not installed yet. There is a workaround. It is assumed that the client goes into sleep mode and the connection is terminated.
Workaround #1
Enable the option to prohibit sleep mode in the server settings. This setting is disabled by default. To do this:
- Open the Registry Editor
- Go to the HKLM\Software\USC\sdbserv.2\Server_key branch
- In the params, parameter specify the number 512 in the decimal system or 200 in the hexadecimal system. If the value was 0, it should become 512. If it was more than 0, then +512 more.
- Save your changes and restart the server.
Workaround #2
Enable Keep-alive mode for the server. You can do this by adding two parameters to the server registry branch:
- np1kat (DWORD) — the time in ms in the passive state of the channel before sending the first keepalive package. 2 hours by default. Assign a value of no more than 300000, decimal,
- np1kai (DWORD) — the interval in ms for sending keepalive messages, if no confirmation is received. 1 second by default. Assign a value, for example, 10000.
If you enable the Log network events setting, you will see a string of the type Keep-alive enabled; prot=1; ip=so-and-so; time=300000; interval=10000 or an error message for each new TCP connection in the server protocol.
Invalid object name
During the synchronization setup with R-keeper 7 via QUSH, the following error may occur:
Reason
The problem occurs because there is no data in the SQL table. Data is not transferred from RK7 to SQL due to the connection to SQL not by IP, but by name:
r_keeper | QUSH |
At the same time, both in the manager station and in QUSH, checking the settings will not give errors.
Solution
Reconfigure MSSQL to connect by IP address, specifying the port numbers. To do this, specify the ports for the desired IP in the TCP/IP protocol settings in MSSQL. To do this:
- Go to the SQL Configuration Manager, it is located in the Start menu:
- Next go to the SQL Protocols section
- Go to the TCP/IP protocol settings
- Select Addresses section and specify the port for the desired IP addresses. By default, this is port 1433, but you can specify any suitable one. Be sure to specify the port at 127.0.0.1 or at the internal IP, if the server and the client are not installed on the same computer
- Click ОК. Now it remains to restart the MSSQL service, and the changes will be applied. You can restart it via Configuration Manager or Windows services.
- Now you can connect to the database by IP address. Check this through SQL Server Management Studio. If it is connected, it means that you did everything correctly.
- Reconfigure synchronization with SQL in RK7 and QUSH to IP. The problem is solved.
Online license is not used
When replacing the database, you will be able to see the following licensing error:
Online license is not used
To fix the error, open Sdbman.exe. Go toMaintenance > Execute the procedure
In the window that appears, enter:
Procedure: LimN
Library: Shsrv64.dll
and click Execute. After that, the license should work.
Upgrading from SH4 to SH5 SH5 errors description