Each project in a solution has an independent syntax tree and Pcode; each time when the project is opened, it will check whether the Pcode and source code match with each other. When a mismatch is detected, it prompts for a "Request Compilation." This is expected behavior, but when incremental builds are performed, it may lead to errors, such as C0247, due to exceptions during Pcode generation.
The C0247 error typically occurs during Pcode generation, and it is common in incremental builds when there are mismatches between the code and the compiled data. This error does not appear in full builds because full builds regenerate everything, ensuring consistency between the source code and Pcode.
During the full build process, multiple PBCC.exe processes may start simultaneously due to support for multi-threading. These processes run independently; and when they execute SQL queries, they will each need to connect to the database. This leads to the data connection window popping up multiple times, and developers have to enter the connection information repeatedly to continue the build process.
This behavior occurs because of concurrent compilation. Developers can reduce the connection windows by selecting the "Disable database connection when compiling and building" option from the Tools menu > System Options menu > General tab.