Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » データのインポートとエクスポート

 

クライアントコンピュータ上のデータへのアクセス

SQL Anywhere では、ファイルをデータベースサーバコンピュータにコピーしたり、データベースサーバコンピュータからファイルをコピーすることなく、SQL の文と関数を使用して、クライアントコンピュータ上のファイルからデータをロードしたり、ファイルにデータをアンロードすることができます。これを実行するために、データベースサーバは Command Sequence 通信プロトコル (CmdSeq) ファイルハンドラを使用して転送を開始します。CmdSeq ファイルハンドラは、データベースサーバがクライアントコンピュータとのデータの転送を必要としているクライアントアプリケーションから要求を受信した後、応答を送信する前に呼び出されます。このファイルハンドラは、クライアントの複数のファイルの同時転送およびインターリーブ転送を任意の時点でサポートしています。たとえば、クライアントアプリケーションにより実行された文で複数のファイルの同時転送が必要な場合、データベースサーバはそれを開始することができます。

CmdSeq ファイルハンドラを使用してクライアントデータの転送を実行することにより、アプリケーションは特殊なコードを使用する必要がなく、次に示す SQL コンポーネントを使用した機能をすぐに利用することができます。

  • READ_CLIENT_FILE 関数   READ_CLIENT_FILE 関数は、クライアントコンピュータ上の指定したファイルからデータを読み込み、ファイルの内容を表す LONG BINARY 値を返します。この関数は、BLOB が使用可能な SQL コードの任意の位置で使用できます。可能な場合は、文で実体化の実行を明示的に指定していないかぎり、READ_CLIENT_FILE 関数によって返されるデータはメモリ内で実体化されません。たとえば、LOAD TABLE 文は実体化を行わずにクライアントファイルからデータをストリーミングします。READ_CLIENT_FILE 関数によって返された値を接続変数に割り当てると、データベースサーバはクライアントファイルの内容を取得して実体化します。

  • WRITE_CLIENT_FILE 関数   WRITE_CLIENT_FILE 関数は、クライアントコンピュータにある、指定したファイルにデータを書き込みます。

  • READ CLIENT FILE システム権限   READ CLIENT FILE システム権限によって、クライアントコンピュータのファイルを読み込むことができます。

  • WRITE CLIENT FILE システム権限   WRITE CLIENT FILE システム権限によって、クライアントコンピュータのファイルに書き込むことができます。

  • LOAD TABLE ... USING CLIENT FILE 句   USING CLIENT FILE 句を使用すると、クライアントコンピュータにあるファイル内のデータを使用してテーブルをロードできます。たとえば、LOAD TABLE ... USING CLIENT FILE 'my-file.txt'; と指定すると、クライアントコンピュータから my-file.txt というファイルがロードされます。

  • LOAD TABLE ... USING VALUE 句   USING VALUE 句を使用すると、BLOB 式を値として指定できます。BLOB 式では、READ_CLIENT_FILE 関数を使用してクライアントコンピュータ上のファイルから BLOB をロードできます。たとえば、LOAD TABLE ... USING VALUE READ_CLIENT_FILE( 'my-file' ) というように指定します。my-file はクライアントコンピュータ上のファイルです。

  • UNLOAD TABLE ... INTO CLIENT FILE 句   INTO CLIENT FILE 句を使用すると、データのアンロード先としてクライアントコンピュータにあるファイルを指定できます。

  • UNLOAD TABLE ... INTO VARIABLE 句   INTO VARIABLE 句を使用すると、データのアンロード先として変数を指定できます。

  • read_client_file および write_client_file セキュリティ機能   read_client_file および write_client_file セキュリティ機能は、クライアントファイルの読み込みまたは書き込みを行う文の使用を制御します。

プロシージャからのクライアントファイルの読み込みと書き込みを許可するには、関数またはその他の間接文、コールバック関数を登録します。コールバック関数が呼び出され、直接要求していないクライアント転送をアプリケーションが許可することが確認されます。

 参照

クライアント側データセキュリティ
クライアント側データのロード時のリカバリ