クライアント用のネットワーク通信の設定
Zen Client のネットワーク通信の設定方法
Zen アプリケーションが実行されているコンピューターからネットワーク ファイルにアクセスするためには、そのコンピューターで適切なクライアント リクエスターを使用する必要があります。アプリケーションで行う Zen 呼び出しはクライアント リクエスター経由でサーバーに送られた後、その結果がアプリケーションに返されます。
通常、Zen サーバーとクライアントは、デフォルトのプロパティ設定により、互いに通信したり正常に動作したりすることができます。通常はプロパティを変更する必要はありませんが、デフォルト以外の設定が必要な場合は、以下のセクションを参照してください。
クライアント ネットワーク通信設定
このトピックでは、Zen クライアントによって使用されるネットワーク通信用の設定について説明します。これらの設定の変更は、コマンド ライン ユーティリティまたは ZenCC 内のエンジン プロパティを使用して行うことができます。
各設定の詳細については、『Advanced Operations Guide』で説明しています。以下のネットワーク通信用の設定については、『Advanced Operations Guide』を参照してください。
Zen リクエスターでサポートするネットワーク パスの形式
リクエスターを使用しているときは、Zen データベース エンジンに接続してデータ ファイルにアクセスします。このトピックでは、Btrieve または DTI アプリケーションを使用してネットワーク上のファイルにアクセスするための、さまざまなネットワーク ファイルの構文を紹介します。
Zen では、多くの操作環境で、UNC(Universal Naming Convention)およびドライブ パス形式(明確かつ最新)が使用できます。
パス形式についての詳細は、以下の項目を参照してください。
お客様がアプリケーション開発者である場合は、URI 接続文字列をサポートする Btrieve API などの特定のアクセス方法についても留意してください。URI 文字列の詳細については、『Zen Programmer's Guide』のデータベース URI を参照してください。『Btrieve API Guide』の Create(14)Open(0)および Login/Logout(78)を参照してください。
UNC(Universal Naming Convention)パス形式
以下の UNC パス形式は、すべてのクライアントからすべてのサーバーへのパス表記に対応しています。
\\ServerName または<IP アドレス>\share\path\file
\\ServerName または<IP アドレス>\share:[\]path\file
UNC 構文は、ターゲット サーバーで実行しているネットワーク オペレーティング システム(NOS)の実際の種類に関係なく、正しく解決されます。IP アドレスを使用する場合は、ドット付き表記の IPv4 アドレス、または IPv6 用にサポートされる 2 つの形式のうちのいずれか 1 つを使用してください。IPv6 アドレスを参照してください。
メモ:上記のすべてのインスタンスで、円記号(\)はスラッシュ(/)に置き換えることができます。ただし、2 重の円記号(\\)は除きます。構文中の[\]は、その円記号が省略可能であることを意味します。
ドライブ ベースの形式
以下のドライブ表記は、すべてのクライアントからすべてのサーバーへのドライブ表記に対応しています。
drive:file
drive:[
\]path\file
file
[
\]path\file
..
\file
Linux、macOS および Raspbian パス形式
Samba を使用する Linux、macOS または Raspbian サーバーが受け取るパスは、相対的な優先順序で次のように処理されます。
共有名
\\server\sharename\path
smb.conf ファイルでは、共有名を受け付けるよう設定する必要があり、そうしない場合は次のセクションで説明する絶対パスがデフォルトで設定されます。
絶対パス
\\server\absolute_path
smb.conf ファイルが適切に設定されていない、またはターゲット サーバー上で見つからない場合は、絶対パスを使用します。
Zen の Linux 版、macOS 版 および Raspbian 版の詳細については、Linux、macOS および Raspbian での Zen の使用を参照してください。
macOS のネイティブな SMB ファイル共有
macOS サーバーでは、サード パーティ製のパッケージ以外にも Samba 共有を有効にする方法があります。macOS は、smb.conf ファイルを使わないネイティブな SMB 形式の共有をサポートしています。[システム環境設定]>[共有]を選択するか、sharingコマンドを使用して、共有を設定したり、既存の共有を表示したりすることができます。
IPv6
Zen がサポートするアクセス方法を使用した Zen Client は、IPv4 の場合と同様に IPv6 を使用して Zen データベース エンジンを実行している IPv6 ホストへ接続します。つまり、Zen Client はサポートされるアクセス方法の 1 つを介してサーバーを指定し接続します。サーバーの指定は、Zen Enterprise Server、Cloud Server、または Workgroup が実行されているマシンのマシン名または IP アドレスのどちらを用いても可能です。
Zen では ActiveX を除くすべてのアクセス方法で IPv6 接続をサポートします。いくつかのアクセス方法は Windows のみのものですが、Windows と Linux、macOS、Raspbian の組み合わせによるクライアント/サーバーで使用することができます。
このトピックでは IPv6 の以下の点について説明します。
IPv6 アドレス
未加工の IPv6 アドレスは、コロンで区切られた 8 個のセグメントで構成されます。各セグメントは 4 桁の 16 進数値として記述できます。たとえば、「1234:5678:90ab:cdef:1234:5678:90ab:cdef」と表記されます。このフレームワーク内では、IPv6 名のいくつかの形式が利用可能です。
数値による IPv6 アドレスに対する推奨事項
一般に、数値の IPv6 アドレスは IPv4 アドレスよりも複雑で扱いが困難です。数値によるリンク ローカル アドレスには問題があり、特にゾーン ID に関しては顕著です。
そのような理由から、特に実稼働環境では、アドレス解決に DNS サーバー、LLMNR、ホスト ファイル、または他の手段でホスト名を使用することをお勧めします。Zen による数値の IPv6 アドレスのサポートは、主に開発環境での使用を目的としています。IPv6 数値アドレスは状況によって角カッコ([ ])が必要となることが多いので、数値のアドレスが必要な場合、かっこが不要と確信できないかぎりは追加するようにしてください。
ユニキャスト アドレス
Zen がサポートするのはユニキャスト アドレスのみです。Zen で使用できるユニキャスト アドレス形式は以下のとおりです。
例:2001:db8:28:3:f98a:5b31:67b7:67ef
IPv6 と MicroKernel エンジンも参照してください。
IPv6 アドレスの修飾子
IPv6 にはアドレス修飾子が含まれています。この修飾子はショートカットとして機能したり、また詳細な宛先の指定に用いたりすることができます。Zen は IPv6 に以下の修飾子をサポートします。
IPv6 と MicroKernel エンジンを参照してください。
アドレスの表記
Zen は IPv6-literal.net 名(Windows の場合)、および角かっこ([])で囲まれた IPv6 アドレス(Windows、Linux、macOS および Raspbian の場合)をサポートします。
IPv6-literal.net 名
ipv6-literal.net 名は以下に示す 3 つの変更を施した未加工の IPv6 アドレスです。
メモ:Linux、macOS および Raspbian ディストリビューションは IPv6-literal.net 名をサポートしていません。
かっこ付き IPv6 アドレス
かっこ付き IPv6 アドレスとは角かっこで囲まれた未加工の IPv6 アドレスです。この形式は UNC(Uniform Naming Convention)で正しく動作するアドレスとしても参照されます。
例:
メモ:Linux、macOS および Raspbian ディストリビューションは、UNC パスや UNC で正しく動作するアドレスをネイティブにはサポートしません。ただし、ファイル パス、数値アドレス、またはその両方を入力として受け付ける Zen インターフェイスは、Linux、macOS および Raspbian 上で UNC パスおよび UNC で正しく動作するアドレスをサポートするので、Windows との互換性を保つことができます。
IPv6 と MicroKernel エンジン
MicroKernel エンジン で IPv6 を使用する際の制限事項を次の表に示します。
\\[2001:12:34:56:78:90:12:23]\acctsvr1\Domestic\file.mkd
制限と条件を参照してください。
IPv6 と リレーショナル エンジン
IP アドレスにポート番号を含める必要があるのは、デフォルトのポートを上書きする場合のみです。一般に、ポート番号はコロン(:ポート番号)またはドット(.ポート番号)を用いて IP アドレスに追加されます。
UNC で正しく動作する名前(アドレスの表記を参照)には、ポート番号を追加できます。
Linux、macOS および Raspbian での IPv6
これまでに述べた IPv6 に関する内容は、すべて Linux、macOS および Raspbian ディストリビューションにも適用されます。以下のセクションでは、IPv6 を Linux、macOS および Raspbian で使用した場合に限り適用される情報について説明します。
推奨されるディストリビューション
オペレーティング システムにおける IPv6 の完全サポートは比較的最近の機能です。このような理由から、最新の Linux、macOS または Raspbian ディストリビューションを使用することをお勧めします。弊社の Web サイトで、Linux、macOS および Raspbian ディストリビューションの一覧を参照の上、最新バージョンのディストリビューションを使用してください。
制限と条件
IPv6 を Linux、macOS または Raspbian で使用する場合は、以下の制限事項や条件に留意してください。
butil -stat //[fe80::1574:833f:b328:30ab%eth0]/DemodataShare/billing.mkd.
その場合、次のようなコマンドでエラーの診断を試すことができます。
ping [fe80::1574:833f:b328:30ab%eth0]
ping6 [fe80::1574:833f:b328:30ab%eth0]
ping6 fe80::1574:833f:b328:30ab%eth0
しかし、これらのコマンドはすべて、アドレスに角かっこが付けられていたり、ゾーン ID が追加されていたりすることが原因でエラーとなり、"Unknown Host"(不明なホスト)や "Invalid Argument"(不正な引数)が返されます。ネットワーク接続が実際に存在する場合は、次のコマンドを使用して特定する必要があります。
ping6 -I eth0 fe80::1574:833f:b328:30ab
最良実施例
IPv6 を Linux、macOS または Raspbian で使用する場合は、次のような方法をお勧めします。
Zen Client が存在するクライアントがサーバー上のデータベース エンジンへ接続するときに、pvnetpass を使用して、その Zen Client プラットフォームからサーバーに対して必要な資格情報を確実に提供するようにしてください。同じサーバーであっても、異なるサーバー アドレスでそのサーバーへ接続する場合はその接続ごとに pvnetpass が必要です。たとえば、ホスト名と IPv6 数値アドレスで同じサーバーを参照するとします。この場合、それぞれの接続ごとに pvnetpass を使用する必要があります。『Zen User's Guide』の pvnetpass を参照してください。
IPv6 についてよく寄せられる質問
次の表では、IPv6 のサポートと Zen についてよく寄せられる質問の回答を記載しています。
はい。『Advanced Operations Guide』の Auto Reconnect を参照してください。
はい。『Advanced Operations Guide』のリッスン IP アドレスを参照してください。
TCP/IP を使用した Windows サーバーへの接続
このセクションは、Windows サーバー プラットフォーム上で実行している Zen サーバーへの接続に TCP/IP を使用する場合について説明します。
サーバーの IP アドレスをクライアントに設定
TCP/IP ネットワークで Zen を操作する場合、クライアントは、Windows サーバーに割り当てられた名前からそのサーバーの IP アドレスを取得できなければなりません。IP アドレスから名前への変換を可能にする 2 つの方法があります。
以下に、上記のそれぞれの方法を使った IP アドレスのセットアップ方法の概要を示します。ネットワーク構成および設定のセットアップの詳しい説明については、オペレーティング システムのドキュメントを参照してください。
DNS を使ったサーバーの IP アドレスの設定
DNS を使用する場合は、お使いのコンピューターがサーバーのデータベース内でサーバーのアドレスを検索できるよう設定します。DNS の設定に必要な情報はネットワーク管理者に確認してください。
1
オペレーティング システムから、ネットワーク情報にアクセスします。
2
ローカル エリア接続]のプロパティを開きます。
3
使用されている TCP/IP 接続(IPv4 または IPv6 など)のプロパティを開きます。
4
hosts ファイルを使ったサーバーの IP アドレスの設定
hosts ファイルではサーバー名と IP アドレスとの関係を手動で入力します。DNS が使用できない状況の場合は、この方法を使用します。
1
たとえば、ある特定の Windows プラットフォームでは次の場所に存在します。
%WINDIR%\SYSTEM32\DRIVERS\ETC\HOSTS
2
3
# IPv4 アドレス用の hosts ファイル エントリの例
146.23.45.2       acctserver
Zen アプリケーションを TCP/IP で使用中に、Windows の[ダイヤルアップ ネットワーク]ダイアログ ボックスが表示されないように設定
ブラウザーの設定に応じて、TCP/IP リクエストが送られる際、[Windows ダイヤルアップ ネットワーク]ダイアログ ボックスが表示される場合があります。通常、このダイアログ ボックスはインターネット接続を行うためのものですが、Zen アプリケーションおよび TCP/IP の使用中は、この機能が邪魔になることがあります。
1
コントロール パネルで[インターネット オプション]をダブルクリックします。
2
接続]タブをクリックします。
3
ネットワーク接続が存在しないときには、ダイヤルする]というオプションの設定を無効にします([ダイヤルしない]などの別のオプションを選択)。
デフォルトの通信ポートの変更
Zen では、サーバー データベース エンジンへのリモート アクセスに、3 つの通信ポート使用します。
通常、競合がない限りポートを変更する必要はありません。
メモ:Windows では、オペレーティング システムの認証にポート 139 を使用します。ファイアウォール経由でポート 139 を開くことができない場合は、Zen データベース セキュリティを有効にすることができます。Zen セキュリティが有効になれば、オペレーティング システムではなく、そのセキュリティによってユーザーが認証されます。『Advanced Operations Guide』の Zen エクスプローラーを使用してセキュリティを有効にするにはおよび Zen エクスプローラーを使用して新しいユーザーを作成するにはを参照してください。
リレーショナル エンジン の場合、ポートの割り当て 1583 は、Zen の各種ユーティリティを通じてサーバー用に設定することができます。このポートはクライアント用に手動で設定できます。『Advanced Operations Guide』の TCP/IP ポートを参照してください。
ポートの割り当て 3351 は変更しないことをお勧めします。変更する必要がある場合は、弊社のテクニカル サポートまでご連絡ください。
ポートの設定はサーバーとすべてのクライアントの両者で必ず一致するようにしてください。
サーバーの受信ポートの変更後は、そのポートの割り当て変更を有効にするためにデータベース エンジンを終了して再起動する必要があります。『Zen User's Guide』の Zen の使用を参照してください。
services ファイル
services ファイルは、ネットワーク通信に使用されるテキスト ファイルです。このファイルで、Zen サーバーとそのクライアントで使用されるポートを手動で割り当てることができます。services ファイルで記載される適用ポートと、Zen のユーティリティおよび関連する Windows ファイアウォール規則で設定されるポートは必ず一致している必要があるので注意してください。
services ファイルでポートの割り当てを変更したら、その変更を有効にするために Zen データベース エンジンを停止して再起動する必要があります。『Zen User's Guide』のデータベース エンジンの起動と停止を参照してください。
Windows ファイアウォール
Zen のインストールでは特定の動作が実行されます。[セキュリティが強化された Windows Defender ファイアウォール]では、ファイアウォールを有効にするファイアウォール プロファイルをデフォルトで提供します。次の表では、これらのプロファイルに関する Zen のインストール動作についてまとめています。
 
1 "アクティブ" とはプロファイルがネットワーク接続を監視していることを意味します。
2 "有効" とは、そのファイアウォール プロファイルによって管理されるネットワーク接続用の全ポートにおいて、受信 TCP および 受信 UDP トラフィックと Zen サービスが通信できることを意味します。
上の表でわかるように、パブリック プロファイルがその他の 1 つ以上のアクティブ プロファイルと共にアクティブな場合、Zen 規則はパブリック プロファイル用に追加されますが無効になっています。Zen 製品のインストールが対話式またはサイレントであってもこの動作を変更することはできません。パブリック プロファイルの規則を有効にしたい場合は、手動で行う必要があります。Zen 規則をパブリック プロファイルに対して有効にするにはを参照してください。
1
2
左ペインで[受信の規則]をクリックします。
3
同じ規則が 2 つあるので注意してください。有効になっている規則(緑色の円にチェックマークが付いている)はパブリック以外のプロファイルに適用されています。無効になっている規則はパブリック プロファイルに適用されます。
4
5
詳細設定]タブをクリックします。"パブリック" プロファイルが選択されていることを確認してください。選択されていない場合は選択してください。
6
全般]タブをクリックし、[有効]オプションをクリックします。
7
OK]をクリックします。
8
インストール後のプロファイル変更
インストールした後にネットワーク プロファイルを変更すると、Zen が通信を受け付けることができなくなるかもしれません。たとえば、インストール時はプライベート ネットワーク プロファイルのみがアクティブだったとします。インストール後のある時点で、アクティブ プロファイルがドメイン(この設定はプライベート プロファイルの設定とはかなり異なることが前提)に変更された場合、データベース エンジンはネットワーク経由で通信ができなくなります。
Zen の通信を妨げるようなプロファイルまたはファイアウォール規則を変更する場合は、Zen 規則をパブリック プロファイルに対して有効にするにはの手順を参照してください。この手順は、アクティブ プロファイルに対して Zen 規則を有効にする方法の一般的なガイドランとして使用できます。この手順を使用すればデータベース エンジンはネットワーク経由で再び通信できるようになります。
ポリシーに関する注記
コーポレート ポリシーによっては、ローカル管理者が特定のマシンに対するファイアウォール プロファイルを変更できないこともあります。そのような場合、このようにブロックされたプロファイルによって監視されるネットワーク接続経由でデータベース エンジンが通信するために必要なファイアウォール規則を、Zen のインストールによって追加したり有効にしたりすることはできません。そのような状況の場合は、権限を持つシステム管理者へファイアウォール ポリシーの変更を要請してください。この変更で Zen でインストールされるすべてのサービスと通信する全ポートに対し受信 TCP および UDP トラフィックを許可します。
また、ターゲット システムがドメインに参加している場合は、グループ ポリシーにより制御されているファイアウォール プロファイル上の規則の追加および有効化を PSQL のインストールから妨げるものは、グループ ポリシーのみであることに注意してください。Zen をインストールしているユーザーが、ドメイン ユーザーとしてではなくローカル ユーザーとしてターゲット システムにログインしていた場合、そのインストールによってファイアウォール プロファイルに対する規則の追加および有効化が行われます。ただし、ターゲット システムが後でグループ ポリシーを制御するドメインへ参加する場合はその規則が無効になります。
Windows クライアントから Linux、macOS または Raspbian サーバーへの TCP/IP を使用した接続
Windows ベースのクライアントを使用するネットワーク(ドライブの割り当てを使用)の場合は Linux、macOS、または Raspbian サーバーで Samba が適切に設定されている必要があります。
サーバーの IP アドレスをクライアントに設定
TCP/IP ネットワークで Zen を操作する場合、クライアントは、Linux、macOS、または Raspbian サーバーに割り当てられた名前からそのサーバーの IP アドレスを取得できなければなりません。IP アドレスから名前への変換を可能にする 2 つの方法があります。
以下に、上記のそれぞれの方法を使った IP アドレスのセットアップ方法の概要を示します。ネットワーク構成および設定のセットアップの詳しい説明については、オペレーティング システムのドキュメントを参照してください。
DNS を使ったサーバーの IP アドレスの設定
DNS を使用する場合は、お使いのコンピューターがサーバーのデータベース内でサーバーのアドレスを検索できるよう設定します。DNS の設定に必要な情報はネットワーク管理者に確認してください。
Windows プラットフォームのクライアントの場合:
1
オペレーティング システムから、ネットワーク情報にアクセスします。
2
ローカル エリア接続]のプロパティを開きます。
3
使用されている TCP/IP 接続(IPv4 または IPv6 など)のプロパティを開きます。
4
hosts ファイルを使ったサーバーの IP アドレスの設定
hosts ファイルではサーバー名と IP アドレスとの関係を手動で入力します。DNS が使用できない状況の場合は、この方法を使用します。
1
たとえば、ある特定の Windows プラットフォームでは次の場所に存在します。
%WINDIR%\SYSTEM32\DRIVERS\ETC\HOSTS
2
3
# IPv4 アドレス用の hosts ファイル エントリの例
146.23.45.2        acctserver
Windows の[ダイヤルアップ ネットワーク]ダイアログ ボックスが自動表示されないようにする
TCP/IP リクエストが Windows に送られる際、[Windows ダイヤルアップ ネットワーク]ダイアログ ボックスが表示される場合があります。通常、このダイアログ ボックスはインターネット接続を行うためのものですが、Zen アプリケーションおよび TCP/IP の使用中は、この機能が邪魔になることがあります。
1
コントロール パネルで[インターネット オプション]をダブルクリックします。
2
接続]タブをクリックします。
3
ネットワーク接続が存在しないときには、ダイヤルする]というオプションの設定を無効にします([ダイヤルしない]などの別のオプションを選択)。
データのエンコード
エンコード方法は上級ユーザー向けです。一般的には、デフォルトのエンコード設定で十分であり変更の必要はありません。『Advanced Operations Guide』のデータベース コード ページとクライアント エンコードを参照してください。
DOS リクエスターの使用
Zen は DOS リクエスターで DOS Btrieve アプリケーションをサポートします。DOS リクエスターでサポートするのは Btrieve アプリケーションのみで、ODBC アプリケーションはサポートされません。このトピックでは、Windows で DOS リクエスターを使用して Zen ベースの DOS アプリケーションを実行する方法について説明します。
DOS ボックスのサポートにより、Windows プラットフォーム上の DOS ボックスで DOS アプリケーションを実行することができます。これにより、データベース エンジンではなく、Windows 32 ビット ワークステーションのコンポーネントと直接通信することが可能になります。この設定は、ローカルの Zen Workgroup エンジン、あるいはリモート エンジンの両方で使用することができます。クライアント/サーバー アクセスに TCP/IP プロトコルを使用するかは、Windows 32 ビット コンポーネントの設定によって決まります。
サポートされる設定
DOS リクエスターは、Zen の Workgroup および Client からリモートの Zen サーバーの設定をどちらもサポートします。
Windows 上での DOS ボックスのサポート
Windows 用のリクエスターは BTRBOX です。このリクエスターは DOS アプリケーションに使用することができます。
Windows 32 ビット プラットフォーム上での DOS アプリケーションの実行
BTRBOX を使用して DOS アプリケーションを実行するために必要なコンポーネントはすべてクライアントでインストールされています。Windows クライアント コンポーネントをインストールすると、DOS または Windows 32 ビット アプリケーションを実行するために必要な要素がすべて揃います。インストールされる DOS アプリケーションのデフォルトのサポートは、Win32 DOS ボックス設定です。
DOS アプリケーションは 64 ビット Windows プラットフォームではサポートされません。このため、BTRBOX は 64 ビット Windows プラットフォームではサポートされません。
DOS ボックス サポートの使用
Windows プラットフォームでは、DOS ボックスのインストールはドライバーが完全に透過になるよう設定します。このため、すぐにコマンド プロンプトを開き、DOS Btrieve アプリケーションを実行することができます。%WINDIR%\SYSTEM32 ディレクトリにある CONFIG.NT ファイルには DOS アプリケーションのサポートを有効にするコマンドが含まれています。このファイルは DOS の CONFIG.SYS によく似ています。Windows オペレーティング システムでは DOS セッションが開くたびにドライバーを読み込みます。この設定ファイル内で、インストールを次のパスに置いて DOS ボックス ドライバーを読み込みます。
DEVICE = C:\WINDOWS\SYSTEM32\BTRDRVR.SYS