SQL 解説書

DATALINK の割り当て

値を DATALINK 列に割り当てると、値のリンケージ属性が指定されていないか、 あるいはその列に NO LINK CONTROL が定義されていない限り、 ファイルへのリンクが確立されます。 リンクされている値がその列にすでにある場合、 そのファイルへのリンクは解除されます。 リンクされている値がすでにある場合に、ヌル値を割り当てることによっても、 その元の値に関連付けられているファイルへのリンクを解除することができます。

すでに列にあるデータの位置と同じ位置をアプリケーションが指定している場合、 そのリンクが保存されます。 このようになる理由には、次の 2 つがあります。

DATALINK 値は、以下のいずれかの方法で列に割り当てることができます。

値を DATALINK 列に割り当てる場合、以下のエラー条件では SQLSTATE 428D1 が戻されます。

割り当てによりリンクの作成も行う場合、 以下のエラーが発生する場合があります。

さらに、割り当てにより既存のリンクを除去する場合、 以下のエラーが発生する場合があります。

DATALINK 値は以下のいずれかの方法でデータベースから検索することができます。

通常、検索時にファイル・サーバーへのアクセスは試みられないことに注意してください。 17 そのため、それ以降にファイル・システム・コマンドに使ってファイル・サーバーにアクセスを試みても、 失敗する可能性があります。

DATALINK を検索する場合、データベース・サーバーでのファイル・サーバーの登録が検査され、 そのファイル・サーバーがまだそのデータベース・サーバーに登録されていることが確認されます (SQLSTATE 55022)。 さらに、DATALINK 値を検索する場合に警告が戻される場合がありますが、 それはその表が調整保留状態または調整不能状態のためです (SQLSTATE 01627)。


脚注:

17
パスに関連した接頭部名を決定するのに、 ファイル・サーバーにアクセスすることが必要になる場合があります。 これはファイル・システムのマウント・ポイントを移動する場合に、 ファイル・サーバーで変更することができます。 サーバー上のファイルに始めてアクセスしたときに、 必要な値がファイル・サーバーから検索されてデータベース・サーバーのキャッシュに置かれます。 そして、それ以降の DATALINK 値の検索はそのファイル・サーバーで行われます。 ファイル・サーバーにアクセスできない場合には、 エラーが戻されます (SQLSTATE 57050)。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]