より柔軟な方法で SAP SQL Anywhere へデータをロードする – パート 1

この記事のオリジナルは、Glenn Paulley が sybase.com に 2009 年 7 月に掲載したものです。その中で、Glenn は SQL Anywhere へのデータロードの方法として OPENSTRING 句について語っています。

 

フラットファイルのコンテンツを SQL Anywhere サーバーに、あるいは逆に SQL Anywhere サーバーから転送することが必要な場合があります。

Version 11より前のバージョンでは、フラットファイルからのインポートは、以下の方法が可能でした(コードを書いて実行するのではなく)。

 

  • LOAD TABLE 文を使用する;
  • DBISQL ツールから INPUT 文を使用する;
  • xp_read_file() プロシージャーを使用してロードする; または
  • リモートデータアクセスサービスを使用して、フラットファイルに対してプロキシーテーブルを構築する

 

上のソリューションそれぞれに、プラス面とマイナス面があります。
最初の 2 つのオプションでは、データをロードするためのテーブルの作成が必要になります。LOAD TABLE は、INPUTよりも高速です。しかし、欠点が 2 つあります。まず、サーバーマシンから直接ファイルにアクセス可能である必要があります。そして、挿入される個々の行がトランザクションログで記録されないようにする必要があります(複雑なリカバリ)。
3番目のオプションもまた、サーバーマシンに対してローカルにある必要があります。残念ながら、xp_read_file() は、パーシングが必要になる曖昧な値を作成してしまいます。
4番目のオプションであるプロキシーテーブルは、外部サーバー、EXTERNLOGIN オブジェクトなどを作成する必要があり、これを使うのはさらに面倒です。

 

Version 11 では、フラットファイルとのインタラクションをより柔軟に処理できるようになりました。このブログ記事では、 OPENSTRINGで提供される機能について説明します。そして、次の記事で、追加のオプションについて説明します。

 

続きはこちら:より柔軟な方法で SAP SQL Anywhere へデータをロードする – パート 1

 

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