ここでは、新しいデータベースの作成、HTTP サーバが有効の状態での SQL Anywhere データベースの起動、一般的な Web ブラウザを使用したデータベースへのアクセス方法について説明します。
コマンド・プロンプトで、次のコマンドを実行して、パーソナル Web サーバを起動します。samples-dir をサンプル・データベースの実際のロケーションと置き換えます。-xs http(port=80)
オプションは、HTTP 要求を受信するようにデータベース・サーバに指示します。すでにポート 80 で稼働している Web サーバがある場合は、このデモには 8080 などの別のポート番号を使用します。
dbeng11 -xs http(port=80) samples-dir\demo.db |
HTTP 通信リンクの多くのプロパティは、-xs オプションのパラメータで制御できます。-xs サーバ・オプションを参照してください。
適切な -xs オプション・パラメータを指定してデータベース・サーバを起動し、CREATE SERVICE 文を使用して、着信要求に応答するための Web サービスを作成します。
Interactive SQL を起動します。DBA として SQL Anywhere サンプル・データベースに接続します。次の文を実行します。
CREATE SERVICE HTMLtable TYPE 'HTML' AUTHORIZATION OFF USER DBA AS SELECT * FROM Customers; |
この文は、HTMLtable という Web サービスを作成します。この単純な Web サービスは SELECT * FROM Customers 文の結果を返し、出力は自動的に HTML フォーマットに変換されます。認証がオフになっているので、Web ブラウザからテーブルへのアクセスには許可が不要です。Web サービスの作成とCREATE SERVICE 文を参照してください。
Web ブラウザを起動します。
URL http://localhost:80/demo/HTMLtable にアクセスします。データベース・サーバの起動時に指定したポート番号を使用します。
Web ブラウザは、データベース・サーバによって返された HTML ドキュメントの本文を表示します。デフォルトでは、結果セットは HTML テーブル形式にフォーマットされます。
コマンド・プロンプトで、次のコマンドを実行して、パーソナル Web サーバを起動します。samples-dir をサンプル・データベースの実際のロケーションと置き換えます。-xs http(port=80)
オプションは、HTTP 要求を受信するようにデータベース・サーバに指示します。すでにポート 80 で稼働している Web サーバがある場合は、このデモには 8080 などの別のポート番号を使用します。
dbeng11 -xs http(port=80) samples-dir\demo.db |
HTTP 通信リンクの多くのプロパティは、-xs オプションのパラメータで制御できます。-xs サーバ・オプションを参照してください。
適切な -xs オプション・パラメータを指定してデータベース・サーバを起動し、CREATE SERVICE 文を使用して、着信要求に応答するための Web サービスを作成します。
Interactive SQL を起動します。DBA として SQL Anywhere サンプル・データベースに接続します。次の文を実行します。
CREATE SERVICE XMLtable TYPE 'XML' AUTHORIZATION OFF USER DBA AS SELECT * FROM Customers; |
この文は、XMLtable という Web サービスを作成します。この単純な Web サービスは SELECT * FROM Customers 文の結果を返し、出力は自動的に XML フォーマットに変換されます。認証がオフになっているので、Web ブラウザからテーブルへのアクセスには許可が不要です。Web サービスの作成とCREATE SERVICE 文を参照してください。
Web ブラウザを起動します。
URL http://localhost:80/demo/XMLtable にアクセスします。データベース・サーバの起動時に指定したポート番号を使用します。
localhost:80 使用する Web ホスト名とポート番号を定義します。
demo 使用するデータベース名を定義します。ここでは demo.db を使用します。
XMLtable 使用するサービス名を定義します。
Web ブラウザは、データベース・サーバによって返された XML ドキュメントの本文を表示します。フォーマット情報は含まれないため、表示されるのはタグや属性を含んだ未加工 XML です。
また、一般的なプログラミング言語からも XMLtable サービスにアクセスできます。たとえば、次の短い C# プログラムでは XMLtable Web サービスを使用します。
using System.Xml; static void Main(string[] args) { XmlTextReader reader = new XmlTextReader( "http://localhost:80/demo/XMLtable" ); while( reader.Read() ) { switch( reader.NodeType ) { case XmlNodeType.Element: if( reader.Name == "row" ) { Console.Write(reader.GetAttribute("ID")+" "); Console.WriteLine(reader.GetAttribute("Surname")); } break; } } reader.Close(); } |
さらに、次の例のように Python からも同じ Web サービスにアクセスできます。
import xml.sax class DocHandler( xml.sax.ContentHandler ): def startElement( self, name, attrs ): if name == 'row': table_id = attrs.getValue( 'ID' ) table_name = attrs.getValue( 'Surname' ) print '%s %s' % ( table_id, table_name ) parser = xml.sax.make_parser() parser.setContentHandler( DocHandler() ) parser.parse( 'http://localhost:80/demo/XMLtable' ) |
このコードを DocHandler.py というファイルに保存します。アプリケーションを実行するには、次のようなコマンドを入力します。
python DocHandler.py |
コマンド・プロンプトで、次のコマンドを実行して、パーソナル Web サーバを起動します。samples-dir をサンプル・データベースの実際のロケーションと置き換えます。-xs http(port=80)
オプションは、HTTP 要求を受信するようにデータベース・サーバに指示します。すでにポート 80 で稼働している Web サーバがある場合は、このデモには 8080 などの別のポート番号を使用します。
dbeng11 -xs http(port=80) samples-dir\demo.db |
HTTP 通信リンクの多くのプロパティは、-xs オプションのパラメータで制御できます。-xs サーバ・オプションを参照してください。
適切な -xs オプション・パラメータを指定してデータベース・サーバを起動し、CREATE SERVICE 文を使用して、着信要求に応答するための Web サービスを作成します。
Interactive SQL を起動します。DBA として SQL Anywhere サンプル・データベースに接続します。次の文を実行します。
CREATE SERVICE JSONtable TYPE 'JSON' AUTHORIZATION OFF USER DBA AS SELECT * FROM Customers; |
この文は、JSONtable という Web サービスを作成します。この単純な Web サービスは SELECT * FROM Customers 文の結果を返し、出力は自動的に JavaScript Object Notation フォーマットに変換されます。認証がオフになっているので、Web ブラウザからテーブルへのアクセスには許可が不要です。Web サービスの作成とCREATE SERVICE 文を参照してください。
Web ブラウザを起動します。
URL http://localhost:80/demo/JSONtable にアクセスします。データベース・サーバの起動時に指定したポート番号を使用します。
localhost:80 使用する Web ホスト名とポート番号を定義します。
demo 使用するデータベース名を定義します。ここでは demo.db を使用します。
JSONtable 使用するサービス名を定義します。
Web ブラウザは、データベース・サーバから返された JSON 応答ドキュメントの保存を許可します。応答ドキュメントをファイルに保存します。
応答が含まれているファイルをテキスト・エディタで表示すると、結果セットに対応する次の配列表記を確認できます。
[ { "ID": 101, "Surname": "Devlin", "GivenName": "Michaels", "Street": "114 Pioneer Avenue", "City": "Kingston", "State": "NJ", "Country": "USA", "PostalCode": "07070", "Phone": "2015558966", "CompanyName": "The Power Group" }, { "ID": 102, "Surname": "Reiser", "GivenName": "Beth", "Street": "33 Whippany Road", "City": "Rockwood", "State": "NY", "Country": "USA", "PostalCode": "10154", "Phone": "2125558725", "CompanyName": "AMF Corp." }, . . . { "ID": 665, "Surname": "Thompson", "GivenName": "William", "Street": "19 Washington Street", "City": "Bancroft", "State": "NY", "Country": "USA", "PostalCode": "11700", "Phone": "5165552549", "CompanyName": "The Apple Farm" } ] |
サンプルは samples-dir\SQLAnywhere\HTTP ディレクトリにあります。
その他の例は、CodeXchange ( http://www.sybase.jp/developer/codexchange) から入手できる場合があります。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |