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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere-Webdienste

 

Schnellstart für Webdienste

Im Folgenden wird beschrieben, wie eine neue Datenbank erstellt, eine SQL Anywhere-Datenbank mit aktiviertem HTTP-Server gestartet und auf diese Datenbank mit einem gängigen Webbrowser zugegriffen wird.

♦  So erstellen Sie einen einfachen HTML-Webdienst und greifen darauf zu
  1. Führen Sie an der Eingabeaufforderung folgenden Befehl aus, um einen Personal Webserver zu starten. Ersetzen Sie Beispieldatenbank durch den tatsächlichen Speicherort der Beispieldatenbank. Die Option -xs http(port=80) weist den Datenbankserver an, auf HTTP-Anforderungen zu warten. Wenn auf dem Port 80 bereits ein Webserver läuft, benutzen Sie eine andere Portnummer, z.B. 8080, für diese Demonstration.

    dbeng11 -xs http(port=80) Beispielverzeichnis\demo.db

    Viele Eigenschaften der HTTP-Kommunikationsverbindung werden durch Parameter der Option -xs gesteuert. Weitere Hinweise finden Sie unter Serveroption -xs.

  2. Starten Sie den Datenbankserver mit den entsprechenden Optionsparametern -xs und verwenden Sie die CREATE SERVICE-Anweisung, um Webdienste zu erstellen, die auf eintreffende Anforderungen antworten.

    Starten Sie Interactive SQL. Verbinden Sie sich mit der SQL Anywhere-Beispieldatenbank als Benutzer mit DBA-Berechtigung. Führen Sie die folgende Anweisung aus.

    CREATE SERVICE HTMLtable
    TYPE 'HTML'
    AUTHORIZATION OFF
    USER DBA
    AS SELECT * FROM Customers;

    Diese Anweisung erstellt einen Webdienst namens "HTMLtable". Dieser einfache Webdienst gibt die Ergebnisse der Anweisung SELECT * FROM Customers zurück und konvertiert die Ausgabe automatisch in das HTML-Format. Da die Authentifizierung deaktiviert ist, sind für den Zugriff auf die Tabelle von einem Webbrowser aus keine Berechtigungen erforderlich. Weitere Hinweise finden Sie unter Webdienste erstellen und CREATE SERVICE-Anweisung.

  3. Starten Sie einen Webbrowser.

  4. Wechseln Sie zur URL [external link] http://localhost:80/demo/HTMLtable. Benutzen Sie die beim Start des Datenbankservers angegebene Portnummer.

    Ihr Webbrowser zeigt Ihnen den Inhalt des HTML-Dokuments, der vom Datenbankserver zurückgegeben wurde. Die Ergebnismenge wird als HTML-Tabelle formatiert.

♦  So erstellen Sie einen einfachen XML-Webdienst und greifen darauf zu
  1. Führen Sie an der Eingabeaufforderung folgenden Befehl aus, um einen Personal Webserver zu starten. Ersetzen Sie Beispieldatenbank durch den tatsächlichen Speicherort der Beispieldatenbank. Die Option -xs http(port=80) weist den Datenbankserver an, auf HTTP-Anforderungen zu warten. Wenn auf dem Port 80 bereits ein Webserver läuft, benutzen Sie eine andere Portnummer, z.B. 8080, für diese Demonstration.

    dbeng11 -xs http(port=80) Beispielverzeichnis\demo.db

    Viele Eigenschaften der HTTP-Kommunikationsverbindung werden durch Parameter der Option -xs gesteuert. Weitere Hinweise finden Sie unter Serveroption -xs.

  2. Starten Sie den Datenbankserver mit den entsprechenden Optionsparametern -xs und verwenden Sie die CREATE SERVICE-Anweisung, um Webdienste zu erstellen, die auf eintreffende Anforderungen antworten.

    Starten Sie Interactive SQL. Verbinden Sie sich mit der SQL Anywhere-Beispieldatenbank als Benutzer mit DBA-Berechtigung. Führen Sie die folgende Anweisung aus:

    CREATE SERVICE XMLtable
    TYPE 'XML'
    AUTHORIZATION OFF
    USER DBA
    AS SELECT * FROM Customers;

    Diese Anweisung erstellt einen Webdienst namens "XMLtable". Dieser einfache Webdienst gibt die Ergebnisse der Anweisung SELECT * FROM Customers zurück und konvertiert die Ausgabe automatisch in das XML-Format. Da die Authentifizierung deaktiviert ist, sind für den Zugriff auf die Tabelle von einem Webbrowser aus keine Berechtigungen erforderlich. Weitere Hinweise finden Sie unter Webdienste erstellen und CREATE SERVICE-Anweisung.

  3. Starten Sie einen Webbrowser.

  4. Wechseln Sie zur URL [external link] http://localhost:80/demo/XMLtable. Benutzen Sie die beim Start des Datenbankservers angegebene Portnummer.

    • localhost:80 Legt den zu verwendenden Webhostnamen und die zu verwendende Portnummer fest.

    • demo Legt den zu verwendenden Datenbanknamen fest. Sie verwenden demo.db.

    • XMLtable Legt den zu verwendenen Dienstnamen fest.

    Ihr Webbrowser zeigt Ihnen den Inhalt des XML-Dokuments, der vom Datenbankserver zurückgegeben wurde. Da keine Formatinformation angegeben wurden, sehen Sie den reinen XML-Code mit Tags und Attributen.

  5. Sie können auf den XMLtable-Dienst auch aus normalen Programmiersprachen zugreifen. Das nachstehende kurze C#-Programm benutzt beispielsweise den Webdienst "XMLtable":

    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();
    }
  6. Außerdem können Sie auf denselben Webdienst aus Python zugreifen, wie im folgenden Beispiel gezeigt wird:

    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' )

    Speichern Sie diesen Code in einer Datei mit dem Namen DocHandler.py. Geben Sie einen Code wie den folgenden ein, um die Anwendung auszuführen:

    python DocHandler.py
♦  So erstellen Sie einen einfachen JSON-Webdienst und greifen darauf zu
  1. Führen Sie an der Eingabeaufforderung folgenden Befehl aus, um einen Personal Webserver zu starten. Ersetzen Sie Beispieldatenbank durch den tatsächlichen Speicherort der Beispieldatenbank. Die Option -xs http(port=80) weist den Datenbankserver an, auf HTTP-Anforderungen zu warten. Wenn auf dem Port 80 bereits ein Webserver läuft, benutzen Sie eine andere Portnummer, z.B. 8080, für diese Demonstration.

    dbeng11 -xs http(port=80) Beispielverzeichnis\demo.db

    Viele Eigenschaften der HTTP-Kommunikationsverbindung werden durch Parameter der Option -xs gesteuert. Weitere Hinweise finden Sie unter Serveroption -xs.

  2. Starten Sie den Datenbankserver mit den entsprechenden Optionsparametern -xs und verwenden Sie die CREATE SERVICE-Anweisung, um Webdienste zu erstellen, die auf eintreffende Anforderungen antworten.

    Starten Sie Interactive SQL. Verbinden Sie sich mit der SQL Anywhere-Beispieldatenbank als Benutzer mit DBA-Berechtigung. Führen Sie die folgende Anweisung aus:

    CREATE SERVICE JSONtable
    TYPE 'JSON'
    AUTHORIZATION OFF
    USER DBA
    AS SELECT * FROM Customers;

    Diese Anweisung erstellt einen Webdienst namens "JSONtable". Dieser einfache Webdienst gibt die Ergebnisse der Anweisung SELECT * FROM Customers zurück und konvertiert die Ausgabe automatisch in das JSON-Format. Da die Authentifizierung deaktiviert ist, sind für den Zugriff auf die Tabelle von einem Webbrowser aus keine Berechtigungen erforderlich. Weitere Hinweise finden Sie unter Webdienste erstellen und CREATE SERVICE-Anweisung.

  3. Starten Sie einen Webbrowser.

  4. Wechseln Sie zur URL [external link] http://localhost:80/demo/JSONtable. Benutzen Sie die beim Start des Datenbankservers angegebene Portnummer.

    • localhost:80 Legt den zu verwendenden Webhostnamen und die zu verwendende Portnummer fest.

    • demo Legt den zu verwendenden Datenbanknamen fest. Sie verwenden demo.db.

    • JSONtable Legt den zu verwendenen Dienstnamen fest.

    In Ihrem Webbrowser können Sie das vom Datenbankserver zurückgegebene JSON-Antwortdokument speichern. Speichern Sie die Antwort in einer Datei.

  5. Wenn Sie einen Texteditor zur Anzeige der Datei verwenden, die die Antwort enthält, sehen Sie die folgende Array-Notierung für die Ergebnismenge.

    [
            {
                    "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"
            }
    ]
Weitere Ressourcen für die ersten Schritte

Beispiele befinden sich im Verzeichnis Beispielverzeichnis\SQLAnywhere\HTTP.

Weitere Beispiele sind möglicherweise auf CodeXchange unter [external link] http://www.sybase.com/developer/codexchange verfügbar.

Siehe auch