4

サードパーティの進捗データベースからデータを取得するタスクが与えられました。問題は、一部のテーブルで「<column>テーブルの列の<table>値が最大長または精度(7864)を超えています」というエラーが報告されていることです。

一部のグーグルは、これがデータベースのSQL幅の問題であり、DBToolを実行することでこれを修正できると考えました。http://progress.atgnow.com/esprogress/jsp/AnswerControls.jsp?directSolutionLink=1&tabs=true&docPropValue=p24496

問題は、進行状況DBを管理するサードパーティが知りたくないということです。データベースに損傷を与える可能性があると彼らは言っています。私は何も(特に進歩)についてあまり知らないので、彼らの議論に対抗することはできません。

質問へ:

  • 彼らはこのツールを実行しないことに対して有効な議論を持っていますか?
  • 彼らが彼らの立場を維持している場合、私は他に私に開かれた選択肢がありますか?私はプログレスについて最初に知らないことを覚えておいてください。
4

1 に答える 1

2

あなたのサードパーティは無知です。DBToolは、この問題に対処するための標準的な方法であり、まさにこの目的のために提供されています。dbtoolの実行は非常に一般的であり、通常は自動化されて時々実行されます(通常は毎月が適切です)。

彼らはそれを「dbrpr」と混同しているかもしれません。これは、ブロックやその他の楽しいものを再フォーマットすることができ、正しく使用しないと間違いなく問題になります。

彼らの協力の有無にかかわらず、あなたはほぼ確実にそれを自分で実行することができます。必要なのはdbaのユーザーIDとパスワードだけです。私は間違っている可能性がありますが、98%の確率でdbaユーザーIDは「sysprogress」であり、ODBC接続で使用されている可能性があります。それらを設定している場合は、おそらくパスワードを知っています(または簡単に取得できます)。

(dbtoolを実行しない場合は、おそらくUPDATE STATISTICSも実行していません。これは、パフォーマンスが非常に悪いことを意味している可能性があります。ProgressSQLエンジンは、コストベースのオプティマイザーを使用します。良い仕事です。しかし、それは別の質問の飼料です。)

于 2011-05-31T21:05:33.740 に答える