I have been given the task of getting some data out of a third party progress database. The problem is that, some tables are reporting an error “Column <column> in table <table> has value exceeding its max length or precision (7864)”.
Some Googling came up with this being an issue with SQL width on the database, and that running DBTool can fix this. http://progress.atgnow.com/esprogress/jsp/AnswerControls.jsp?directSolutionLink=1&tabs=true&docPropValue=p24496
The problem is that the third party who manage the progress DB doesn’t want to know – they say it could damage the database. As I don’t know much about anything (especially Progress), I am unable to counter their argument.
To the questions:
- Do they have a valid argument against
not running this tool? - If they
maintain their position, do I have
any other options open to me? Bear in mind that I don’t know the first thing about Progress.
Your 3rd party is ignorant. DBTool is the standard way of dealing with this issue and has been provided for this very purpose. Running dbtool is extremely common and is normally automated to run occasionally (monthly is generally good).
They may be confusing it with “dbrpr”. Which can reformat blocks and other fun stuff that will definitely get you in trouble if not used correctly.
You can almost certainly run it yourself with or without their cooperation. All you need is the dba userid and password. I could be wrong but 98% of the time the dba userid is “sysprogress” and it is likely being used in the ODBC connections. If you’ve been setting those up you probably know the password (or can easily obtain it).
(If they won’t run dbtool then they probably also haven’t been running UPDATE STATISTICS which likely means that performance is really bad. The Progress SQL engine uses a cost based optimizer and without some statistics to feed it it will not do a very good job. But that is fodder for another question.)