Linkexpress 運用ガイド |
目次 索引 |
第1章 データ転送機能 | > 1.2 ファイル転送機能 |
Linkexpressがサポートするファイル形式には以下の3種類があります。
テキスト形式(ASCII文字列)のファイルです。テキストデータの場合、改行コード(PCサーバの場合はCR・LF、UNIXサーバの場合はLF)までを1行(1レコード)とし、複数レコードをまとめて転送します。
バイナリ形式のファイルです。バイナリデータの場合、Linkexpressはデータの内容を意識しないで透過的にデータを転送します。元のデータがテキスト形式でも、ユーティリティでデータ圧縮や暗号化を行った場合は、バイナリデータとして転送する必要があります。
レコード識別子(注)を持つ可変長レコードのファイルです。業務定義でファイル転送を行う場合にFNA(HICS)またはTCP/IP(FTP+)で転送できます。フォーマットデータの場合、Linkexpressはレコード識別子およびレコード識別子で示されるデータを1レコードとし、複数レコードをまとめて転送します。
注) レコード識別子は各レコードの先頭に存在する4バイトのデータで、前半2バイトはレコード長、後半2バイトはNULLによって構成されます。このレコード識別子は、グローバルサーバ/PRIMEFORCEが扱うRDWと同一の形式です。
グローバルサーバ/PRIMEFORCEではファイル形式の情報としてレコード形式、レコード長、およびブロック化因数があります。そのため、FNA(HICS)によるファイル転送、またはTCP/IP(FTP+)によるフォーマットデータのファイル転送で、ファイル形式が指定可能です。
なお、ファイル形式はグローバルサーバ/PRIMEFORCEのファイルシステムに関連する情報のため、PCサーバやUNIXサーバの範囲内でファイル転送を行う際に意識する必要はありません。
Linkexpressのファイル転送では、ファイル形式に関して以下の注意事項があります。
フォーマットデータ(注)で転送する場合は、必ず可変長レコードを指定する必要があります。その他のデータ形式の場合は任意のレコード形式を指定してください。
注) 業務定義とファイル転送コマンドでサポートしているデータ形式です。
レコード長は以下の条件を満たす必要があります。
1≦レコード長≦通信バッファ長(注)
1≦レコード長≦通信バッファ長-4
また、テキストデータの転送では、以下の条件も満たす必要があります。
固定長のレコード形式では、レコード長をデータ中の1行と一致させる必要があります。
可変長のレコード形式では、レコード長をデータ中の行の最大長以上にする必要があります。
TCP/IP(FTP+)でフォーマットデータを転送する場合、ブロック化因数は意味を持ちません。
TCP/IP(HTTP系)でファイル転送をする場合、常にバイナリファイルとして転送します。
また、ファイル追加書きはできません。
ファイル転送の応答側処理を作成しないで、相手システムからファイル転送を行った場合、送受信ファイルは以下の形式で扱われます。ファイル形式を省略値以外の形式で転送したい場合には、業務定義、ファイル転送コマンド(応答側機能)、または利用者プログラムでファイル転送の応答側処理を作成してください。
ファイル形式 : 相手システムが指定したファイル形式(テキストまたはバイナリ)で転送されます。
ファイル属性 : データ形式の変更はありません。
ファイル形式 : 常にバイナリで転送されます。
ファイル属性 : 応答側ファイル受信では相手システムから通知された属性に従って転送されます。また、応答側ファイル送信の場合は固定長(F)、レコード長80、ブロック化因数=1のデータ形式で送信します。
ファイル形式 : 相手システムが指定したファイル形式(テキストまたはバイナリ)で転送されます。
ファイル属性 : データ形式の変更はありません。
"644"(rw-r-r)(注1)にLinkexpressの起動コマンドを投入したユーザーのumask値を差し引かれる値で作成します。
例)umask 0044でLinkexpressを起動した場合作成される受信ファイルのモードは"600"(rw----)となります。
注1)"644"とは、所有者はそのファイルを読みこみまたは書き込みができる状態、かつ所有者以外のグループユーザやその他のユーザは読みこみしかできない状態のことです。
目次 索引 |