Yesterday evening I installed SW PDM 2019 SP5 in a new Windows Server 2012 machine. I then followed the instructions for 'Moving Server Components to Another System' in the PDM installation guide to move our existing PDM 2017 database and file archive to the new server. Lastly, I used the 'Upgrade.exe' tool to update the database from 2017 to 2019.
All seemed to go well. I could log in, browse and check in/out files, so I called it a night. This morning, I found that all PDM searches fail with the generic error:
The log file shows this:
=======
Error running query in SpDbOdbc
State=37000
Msg=[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'From'.
=======
The 600 line SQL query contains this bit of invalid SQL:
<span class="punctuation token">(</span><span class="keyword token">Select</span> ConfigurationName <span class="keyword token">From</span> DocumentConfiguration <span class="keyword token">Where</span> ConfigurationID <span class="operator token">=</span> sh<span class="punctuation token">.</span>ConfigurationID<span class="punctuation token">)</span><span class="punctuation token">,</span><br>D<span class="punctuation token">.</span>DocumentID<span class="punctuation token">,</span><br><span class="keyword token">From</span> <span class="comment token">#SearchProc_Hits sh</span><br><span class="keyword token">Join</span> <span class="comment token">#ProjTable P On P.ProjectID = sh.ProjectID</span><br><span class="keyword token">Join</span> Projects Ps <span class="keyword token">On</span> Ps<span class="punctuation token">.</span>ProjectID <span class="operator token">=</span> sh<span class="punctuation token">.</span>ProjectID<br><span class="keyword token">Join</span> Documents D <span class="keyword token">On</span> D<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> sh<span class="punctuation token">.</span>DocumentID<br><span class="keyword token">Join</span> Users U <span class="keyword token">On</span> U<span class="punctuation token">.</span>UserID <span class="operator token">=</span> D<span class="punctuation token">.</span>UserID<br><span class="keyword token">Join</span> Revisions R3 <span class="keyword token">On</span> R3<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> D<span class="punctuation token">.</span>DocumentID <span class="operator token">And</span> <span class="comment token">-- Found revision</span><br> R3<span class="punctuation token">.</span>RevNr <span class="operator token">=</span> <span class="keyword token">Case</span> <span class="keyword token">When</span> P<span class="punctuation token">.</span>ShowVer <span class="operator token">=</span> <span class="number token">0</span> <span class="keyword token">Then</span> sh<span class="punctuation token">.</span>Revision <span class="keyword token">Else</span> sh<span class="punctuation token">.</span>Version <span class="keyword token">End</span><br><span class="keyword token">Join</span> <span class="comment token">#SearchProc_DocMaxVersions docmax</span><br><span class="keyword token">On</span> docmax<span class="punctuation token">.</span>ProjectID <span class="operator token">=</span> sh<span class="punctuation token">.</span>ProjectID<br><span class="operator token">And</span> docmax<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> sh<span class="punctuation token">.</span>DocumentID<br><span class="keyword token">Join</span> Revisions R <span class="keyword token">On</span> R<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> D<span class="punctuation token">.</span>DocumentID <span class="operator token">And</span> <span class="comment token">-- Latest revision</span><br> R<span class="punctuation token">.</span>RevNr <span class="operator token">=</span> docmax<span class="punctuation token">.</span>RevNr<br><span class="keyword token">Join</span> <span class="keyword token">Status</span> s <span class="keyword token">On</span> s<span class="punctuation token">.</span>StatusID <span class="operator token">=</span> <span class="number token">d</span><span class="punctuation token">.</span>CurrentStatusID <span class="comment token">-- Status is here because sometimes s.Name is referenced</span><br><span class="keyword token">Left</span> <span class="keyword token">Join</span> BranchRelation BR <span class="keyword token">On</span> D<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> BR<span class="punctuation token">.</span>BranchDocID<br><span class="keyword token">Left</span> <span class="keyword token">Join</span> Documents DSrc <span class="keyword token">On</span> DSrc<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> BR<span class="punctuation token">.</span>SrcDocID<br><span class="keyword token">Left</span> <span class="keyword token">Join</span> Documents DBr <span class="keyword token">On</span> DBr<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> BR<span class="punctuation token">.</span>BranchDocID<br><span class="keyword token">Join</span> CTE_CustomColumnValues ccv<br><span class="keyword token">On</span> ccv<span class="punctuation token">.</span>DocumentID <span class="operator token">=</span> D<span class="punctuation token">.</span>DocumentID<span class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span>It's the trailing comma after D.DocumentID that is tripping it up.
Has anyone run into this issue before?
SolidworksSolidworks Pdm/enterprise Pdm