0

2009 年から 2016 年へのアップグレード プロセス中に、廃止された古い製品に関連するオブジェクトを削除しようとしています。オブジェクトはライセンスの範囲外であり、フォーム、テーブル、およびレポートの両方で構成されています。削除すると、よく知られているエラーに直面します:

「'[オブジェクト名]' テーブルを削除する権限がありません。」

開発者ライセンスと顧客ライセンスを試してみましたが、うまくいきませんでした。製品はもう存在しないため、これらのオブジェクトを保持しておく必要はなく、アップグレード プロセスのためにそれらを削除する必要があります。

ライセンスに含まれていないオブジェクトを削除する際の最善のアプローチまたはテクニックは何ですか?

更新: この問題はどのように解決されましたか? 製品の所有者に連絡して、問題を説明しました。きちんとした PowerShell スクリプトを送ってくれました。これは魅力のように機能しました。スクリプトを読むと、SQL コマンドレットを使用して、次の SQL テーブルから関連データを選択および削除していることがわかります。

オブジェクト、オブジェクト メタデータ、オブジェクト メタデータのスナップショット、オブジェクト トラッキング、オブジェクト翻訳、権限。

これは、この製品を開発した製品所有者の好みの方法でした。すべての NAV オブジェクトに適用できる必要があります。以下の回答のいずれかをまだうまく試していません(さらに試行します)。この新しい情報が、適切な回答を提供するのに十分な知識を誰かに提供することを願っています.

4

3 に答える 3

1

何人かによって成功裏に使用されましたが、実稼働システムには推奨できない方法は、SQL を介してこれらのオブジェクトをオブジェクトおよび補助テーブルから単純に削除することです。テーブルの場合、SQL テーブル自体とその VSIFT ビューを手動で削除する必要があります。

もう少し良い (おそらく) 方法は、SQL を介してオブジェクトの数を変更し、NAV を介してオブジェクトを削除することです。

最良の方法は、「キラー オブジェクト」の機能を使用することです。これにより、FOB インポートを介してオブジェクトを削除できます。

http://navisionary.com/2011/11/how-to-delete-bsolete-dynamics-nav-objects/

そのようなキラーオブジェクトを提供できるパートナーを見つけた場合 (必要な範囲でオブジェクトを作成するためのライセンスが必要です)、問題を「クリーン」な方法で解決します。

そうでない場合は、一部のテスト DB で 50000 の範囲に空のオブジェクトを作成し、SQL を介してそれらの番号を廃止された範囲に変更し、それらを FOB としてエクスポートしてから、「削除」オプションを使用してターゲット DB にインポートすることを検討してください。

于 2016-08-25T08:48:25.293 に答える