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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » リモート・データとバルク・オペレーション » リモート・データ・アクセスのサーバ・クラス » ODBC ベースのサーバ・クラス » サーバ・クラス odbc

 

Microsoft Excel (Microsoft 3.51.171300)

Excel で、それぞれの Excel ブックはいくつかのテーブルを持つデータベースであると、論理的に考えられます。テーブルはブック内でシートにマッピングされます。ODBC ドライバ・マネージャで ODBC データ・ソース名を設定する場合は、そのデータ・ソースに関連付けられたデフォルトのブック名を指定します。ただし、CREATE TABLE 文を発行する場合には、デフォルトを無効にしてロケーションの文字列にブック名を指定できます。これによって、1 つの ODBC DSN を使用してすべての Excel ブックにアクセスできます。

この例では、excel という名前の ODBC データ・ソースが作成されています。mywork というシート (テーブル) を持つ work1.xls というブックを作成するには、次のようにします。

CREATE TABLE mywork (a int, b char(20))
AT 'excel;d:\work1.xls;;mywork';

2 番目のシート (テーブル) を作成するには、次のような文を実行します。

CREATE TABLE mywork2 (x float, y int)
AT 'excel;d:\work1.xls;;mywork2';

CREATE EXISTING 文を使用して、既存のワークシートを SQL Anywhere にインポートできます。ここでは、スプレッドシートの最初のローには、カラム名が入ることを前提としています。

CREATE EXISTING TABLE mywork
AT'excel;d:\work1;;mywork';

SQL Anywhere によって、テーブルが見つからないと表示された場合は、マッピングするカラムとローの範囲を明示的に指定する必要があります。次に例を示します。

CREATE EXISTING TABLE mywork
AT 'excel;d:\work1;;mywork$';

シート名に $ を追加すると、ワークシート全体が選択されることを示します。

AT で指定するロケーションの文字列で、フィールド・セパレータとしてピリオドの代わりにセミコロンが使用されていることに注意してください。これは、ファイル名にピリオドが使用されるためです。Excel では所有者名フィールドをサポートしないので、これはブランクのままにしてください。

削除はサポートされていません。また、Excel ドライバは位置付け更新をサポートしないため、更新も可能でない場合があります。