13.07.2015 Views

Caché Direct の使用法

Caché Direct の使用法

Caché Direct の使用法

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

VisM コントロールの 使 用 に 関 する 基 本注 釈プロパティは 文 字 列 でなければならないという 要 件 は、Unicode サーバで 実 行 される 変 換 に 起 因 しています。ただし、8 ビット・サーバの 場 合 、および $c(1) から $c(31) の 範 囲 の 値 を 持 つコントロール・コードの 場 合 は、テキスト 以 外 のデータも 保 持 されます。8 ビット・サーバでは 変 換 は 行 われないため、データが 壊 れることはありません。また、 低 範 囲 のコントロール・コードは 8 ビット・ロケールでも、Unicode でも 同 じなので、どのサーバでも 問 題 にはなりません。ただし、クライアントは C++ で 記 述 されており、C 文 字 列 規 則 を 使 用 しているため、 埋 め 込 まれている Null 値($c(0)) により、 文 字 列 が 切 り 捨 てられる 可 能 性 があります。2.8.2 メッセージのサイズこれまでの 経 緯 から、クライアントとサーバの 間 ではどちらの 方 向 でも、1 つのメッセージの 最 大 サイズは 32Kb に 制 限 されています。<strong>Caché</strong> <strong>Direct</strong> では、 長 いメッセージが 複 数 の 短 いメッセージに 分 割 されることはありません。また、 長 すぎるメッセージの 送 信 が 試 行 された 場 合 、 復 旧 できません。したがって、この 制 限 を 超 えるメッセージが 作 成 されないようにする 責 任 はアプリケーションにあります。これよりも 長 いデータを 送 信 するには、 一 連 のメッセージを 送 信 します。この 場 合 、テストの 結 果 で 速 度 が 犠 牲 にならないことが 判 明 しています。これは、 送 信 のために、TCP により、 大 きなメッセージが 小さなセグメントに 分 割 されるためです。その 他 の 条 件 が 同 じである 場 合 、12 ~ 20 KB のメッセージで 最 適 速 度 (1 秒 当たりの 総 バイト 数 ) が 実 現 すると 考 えられます。メッセージのサイズを 見 積 もるには、サーバに 送 信 される VisM プロパティに 含 まれるすべての 文 字 に、 数 百 バイトのオーバーヘッドを 加 味 して 考 慮 します。 送 信 されるプロパティは、ミラーリングされたプロパティと、 数 個 の 小 さなプロパティ(CODE や NameSpace など) です。 通 常 のメッセージには、 約 10 個 のフィールドと PLIST プロパティがいくつかあります。これらのプロパティはそれぞれ、フィールドとして 送 信 されます。サーバが 8 ビットの 場 合 、または 文 字 列 がすべてLatin-1 文 字 の 場 合 、データ・フィールドは 1 文 字 あたり 1 バイトです (Latin-1 文 字 を Unicode で 表 現 した 場 合 、 上 位バイトにはオンになっているビットはありません。このような 文 字 列 は、8 ビット 文 字 列 として 送 信 できます)。サーバがUnicode で、プロパティに Latin-1 以 外 の 文 字 が 含 まれている 場 合 、このフィールドには 1 文 字 あたり 2 バイトが 含 まれます。この 結 果 、メッセージの 最 大 容 量 は、 約 30,000 文 字 ではなく、その 半 分 未 満 になります。 効 率 を 犠 牲 にしないために、どのメッセージも 約 12,000 文 字 を 超 えないように 確 認 することをお 勧 めします。2.9 例2.9.1 簡 単 な 例 : Lightweight <strong>Caché</strong> ターミナルこれは Visual Basic で 1 つのクライアント・フォームを 作 成 する 方 法 を 示 した 小 さなサンプル・アプリケーションです。ユーザはこれを 使 用 して、<strong>Caché</strong> ObjectScript を 1 行 入 力 し、 結 果 を 得 ることができます。このアプリケーションでは、 可 能 な限 り 既 定 値 が 使 用 されています。また、エラー・チェックはほとんど 行 われません。このサンプルでは、ローカル・マシンに <strong>Caché</strong> サーバが 実 行 されていること、<strong>Caché</strong> <strong>Direct</strong> コンポーネントがインストールされていることを 前 提 にしています。 使 用 しているマシンで <strong>Caché</strong> が 実 行 されていることを 確 認 してください。Visual Basic を 起 動 します。フォームを 使 用 して、 新 しい Standard EXE プロジェクトを 作 成 します。[プロジェクト] または[コンポーネント] メニューを 使 用 して、ツールボックスに VisM コントロールを 追 加 します。このフォームに、コマンド・ボタンを 1 つ (Command1)、テキスト・ボックスを 2 つ (Text1 および Text2)、VisM コントロールを 1 つ 追 加 します。1 つ 目のテキスト・ボックスは、 簡 単 な <strong>Caché</strong> ObjectScript の 1 行 が 入 る 程 度 の 幅 にします。また、2 つ 目 のテキスト・ボックスは結 果 文 字 列 が 入 る 程 度 の 大 きさにします。Command1_Click イベント・コードに、 以 下 を 入 力 します。VisM.Execute Text1.TextIf VisM1.Error 0 ThenText2.Text = "Error " & VisM1.Error & ": " & VisM1.ErrorNameElseText2.Text = VisM1.VALUEEndif18 <strong>Caché</strong> <strong>Direct</strong> の 使 用 法

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!