I have a script to synchronize files in a server folder with documents in a ProjectWise folder. I have several thousands of documents to sync so I have 'powershelled' the task.
One of my commands is to create a new document version:
Get-PWDocumentsBySearch -FolderPath $pwfolder -FileName $theFile | New-PWDocumentVersion -VersionString $verString | Out-Null
This will happily run for long periods of time, and then fall over for no apparent reason:
New-PWDocumentVersion : Error changing document 'FILENAME' to new version. Error creating new version of document.At SCRIPTNAME1:548 char:97+ ... e $theFile | New-PWDocumentVersion -VersionString $verString | Out-N ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (Version:String) [New-PWDocumentVersion], Exception + FullyQualifiedErrorId : ErrorID: Database transaction deadlock error.,PWPS_DAB.NewPWDocumentVersion
What is a database transaction deadlock error and how to prevent it? For the record, the $verString is set to "P02" and the previous version is "P01".
Thanks for any help.
Is it possible the document you are attempting to create a new version for, is either checked out, exported, or set to final status?
No - it's at revised status and not checked out. See the audit trail: