About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
.NET
JAVA
HTML http
XML
SQLXML
Datenbanken
CVS
SQL

 
SQLXML - Ein Beispiel Zugriff von Excel mittels http und XML auf eine Datenbank

Der Zugriff per URL auf einen SQL Server bietet vielfältige Möglichkeiten. So kann z.B. per Excel schnell und einfach eine Auswertung von Datenbankdaten erstellt werden. Hier wird in einem Beispiel der Zugriff auf eine Datenbank einer Helpdesklösung gezeigt.

Voraussetzungen sind:

  • SQL Server Datenbank
  • IIS (Internet Information Server) 
    Dieser muss nicht zwangsweise auf dem gleichen Rechner wie die Datenbank ablaufen. Dieser Rechner muss jedoch per http von den gewünschten Zielrechnern angesprochen werden können.
  • SQLXML 3.0

Installation SQLXML 3.0

  • sqlxml.msi
    Downloaden und auf dem Rechner mit IIS installieren (www.microsoft.com)

Einrichten des http Zugriffs auf die Datenbank

  • Verzeichnis C:\Inetpub\wwwroot\dbtest anlegen.
  • In diesem Verzeichnis eine leere Textdatei  allcustomers.xml anlegen. Diese soll danach das SQL Statement beinhalten (siehe rechte Seite)
  • Im Startmenü "Programme / SQLXML 3.0 / IIS-Support konfigurieren" auswählen
  • Hiermit ein neues virtuelles Verzeichnis erstellen.
    Name:cbtest
    Lokaler Pfad: C:\Inetpub\wwwroot\dbtest
  • Sicherheit: Hier einen gültigen SQL Server Zugriff eintragen
  • Datenquelle: Hier den Datenbankserver + Datenbank eintgragen.
  • Einstellungen: "sql=  oder template=" URL Anfragen, sowie Vorlagenabfragen zulassen.
  • Unter Virtuelle Namen ein neues Template zuweisen:
    Name:allcustomers
    Typ: template
    Pfad: C:\Inetpub\wwwroot\dbtest\allcustomers.xml

 

Die SQL Abfrage erstellen:

  • Wie links beschrieben wurde die  allcustomers.xml Datei erstellt und wird jetzt mit einem PlainText Editor bearbeitet.
  • Da es sich um eine XML Abfrage handel soll, wird die select * FOR XML Syntax verwendet.
    <root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
    <sql:query>
      select 1 AS Tag, NULL as Parent,
        CustomerID AS  [Northwind!1!CustomerID],
        CompanyName AS [Northwind!1!CompanyName],
        ContactName AS [Northwind!1!ContactName]
      from Customers
      for XML EXPLICIT
    </sql:query> </root>
  • Jetzt kann über den Internet Explorer auf die URL dieser SQLXML Anfrage zugegriffen werden.
    http://servername/dbtest/allcustomers

Mit Excel die SQLXML Abfrage verwenden:

  • Excel starten und Menü "Daten / XML / XML-Quelle"  verwenden. Hier mit werden die XML Quellen verwendet.
  • den Knopf XML-Verknüfungen klicken, danach Hinzüfügen
  • Es erscheint ein Dateiauswahldialog, hier die URL eingeben
    http://servername/dbtest/allcustomers
  • Excel zeigt jetzt die XML Elemente an, welche von der Abfrage zurückgeliefert wurden. Diese können wer Drag 'n Drop in das Worksheet übernommen werden.
  • Durch einen Rechtsklick in die Elemente im Worksheet können die XML Daten dann aktualisiert, bzw. erstmalig gelesen werden.
  • Hinweis: Um den Anwendern einen einfachen Zugriff zu bieten ist sicherlich die Erstellung einer VBA Funktion hier hilfreich.

 

 

 
©; created Mon Aug 07 22:31:53 CEST 2006; eMail