17.00 - 17.05 - 「Arg list too long」および「Argument list too long」エラーのトラブルシューティング - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

Linux上で、UDF、UDM、または外部ストアド プロシージャ(まとめて外部ルーチンと呼ぶ)の作成、置換、変更を行なうと、「Argument list too long」エラーが発生することがあります。

このエラーが発生した場合は、外部ルーチンの作成、置換、変更を行なうデータベースにすでに他の外部ルーチンが多数存在しているか、名前が非常に長い外部ルーチンが含まれている可能性があります。

新しい外部ルーチンのコンパイル(または再コンパイル)は正常に実行されますが、結果として作成されるオブジェクト ファイルの名前がデータベース内にすでに存在するすべての外部ルーチンのオブジェクト ファイルのリストに追加されると、結果として作成されるリストがコマンド ライン引数の最大サイズを超えてしまうため、コンパイラは新しいダイナミック リンク ライブラリ(.soファイル)を作成できません。

Linuxのこの制約を回避するには、次のいずれかを実行します。

  • 不要なUDTと外部ルーチンをデータベースから削除する。
  • それぞれの外部ルーチンを個別にインストールする代わりに、外部ルーチンのパッケージまたはライブラリを作成して、まとめてインストールします。
これは、すべてのケースで有効ではないことがあります。例えば、システムで許可されるUDTの最大数に到達している場合などです。