TCPIP経由でSQL Anywhere Serverを検索する

目的

本ドキュメントではSQL AnywhereがTCP/IPを介してサーバを検索して接続する方法ついて詳しく説明します。

 

概要

TCP/IP経由で遠隔地のSQL Anywhere データベースサーバへ接続することは非常に簡単です。 単純に “UID=userid;PWD=password;ENG=engine_name;LINKS=tcpip” という接続文字列を使用するだけで十分です。
しかし、TCPの動作を変更する多数のTCP接続パラメータがあり、サブネット、WAN、およびファイアウォールの存在が接続プロセスを複雑にする可能性もあります。
このドキュメントでは、SQL AnywhereクライアントがTCP / IPを介してサーバを検索して接続するアルゴリズムについて説明し、アルゴリズムの変更に使用できる各パラメータについても説明します。本書に記述されているアルゴリズムとパラメータは特に指定のない限り SQL Anywhere version 8 以降に適用されます。

 

SQL Anywhere でTCP/IPを使用する

SQL Anywhere クライアントはデータベースサーバへ接続するためにいくつものネットワークプロトコルを使用することが可能です: 共有メモリ、TCP/IP, SPX、名前付きパイプ(Ver 9以前)

TCP/IPプロトコルは、普遍的で高速なため、データベースサーバとクライアントが異なるコンピュータ上にある場合に最も一般的な選択です。SQL Anywhereでは、他のデータベースシステムとは異なり、クライアントがデータベースサーバを見つけるためにホスト名またはIPアドレスではなくデータベースサーバ名を指定する必要があります。これにより、ユーザはクライアント接続文字列を変更することなく、任意のコンピュータ上でデータベースサーバを実行できます。

この規則には、データベースサーバの構成方法やネットワークトポロジに応じて例外があります。 データベースサーバに接続するには、クライアントは少なくともデータベースサーバ名(ENG パラメータで指定 *1) と、クライアントがデータベースサーバを見つけるために使用する通信プロトコルのタイプを含む接続文字列を指定する必要があります。データベースサーバがクライアントと同じサブネット上にあり、ブロードキャストを無効にしていない場合、クライアントは通常、接続文字列の一部として “LINKS = tcpip”を指定するだけでデータベースサーバに接続できます。

次に、クライアントは、目的のデータベースサーバ名を含むUDPブロードキャストパケットを送信し、対応するデータベースサーバはUDPパケットで応答し、クライアントにIPアドレスとポート番号を通知します。 クライアントは、データベースサーバとのTCP接続を確立できます。

*1:ENGパラメータは旧式のパラメータであり、現在はServerパラメータの使用が推奨されます。

 

続きはこちら:TCPIP経由でSQL Anywhere Serverを検索する

 

SAPのSAP SQL Anywhere製品ページはこちら