DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Shinja Strasser Artikel Drucken
        
Benutzen einer MSDE Datenbank

Sie haben sich sicherlich schon des öferen geärgert wenn Sie eine MSDE Datenbank benutzen und diese einmal bearbeiten wollen. Oder einfach mal wissen wollen was da so alles drin steht.
Manchmal möchte man auch ein Update einer Datenbank machen und auch eine neue Tabelle hinzufügen.

So mancher Programmierer gerät hier schon mal aus den Fugen. Das Problem an der MSDE ist, sie hat keine visuelle Oberfläche für eine konfortable Bearbeitung. Aber um eine Datenbank zu pflegen oder wie oben schon erwähnt, mal eine neue Tabelle hinzuzufügen kommt man nicht drum herum Tipparbeit zu leisten.

Beginnen wir einmal damit sich bei der MSDE anzumelden. Öffen Sie hierzu die DOS Box
(Start -> Ausführen -> cmd) und geben Sie folgendes ein.
Eines noch vorweg ! Meine MSDE ist local installiert, der Benutzername ist sa und ich habe kein Passwort vergeben.

SQL SERVER

C:>isql /s localhost /U sa /P ""

MSDE

C:>osql -U sa -P ""


danach muss in Ihrer DOS Box folgendes stehen:

SQL SERVER

C:>isql /s localhost /U sa /P ""
1>


MSDE

C:>osql -U sa -P ""
1>


1> ... hier können Sie eigentlich schon loslegen. Zum Beispiel möchten sie wissen welche Datenbanken existieren.

geben Sie hier folgendes in die Kommandozeile ein.

1>exec sp_HelpDB     <enter>
2>go   <enter>


Hier bekommen Sie eine komplette Auflistung aller existierenden Datenbanken.
Mit

1>exit


verlassen Sie wider die Oberfläche.

Wollen Sie wissen was in einer Datenbank steht müssen Sie folgendermassen vorgehen.
Meine Beispieldatenbank heisst hier MyDB und besitzt eine Tabelle TBL1 mit den Felder F_ID,FELD1, FELD2

SQL SERVER

C:>isql /s localhost /U sa /P "" /d MyDB


MSDE

C:>osql -U sa -P "" -d MyDB


in der DOS Box steht dann folgendes:

SQL SERVER

C:>isql /s localhost /U sa /P "" /d MyDB
1>


MSDE

C:>osql -U sa -P "" -d MyDB
1>


wenn Sie wissen wollen was in den Feldern FELD1, FELD2 steht geben Sie einfach das
SQL Statement ein z.B.:

1>select FELD1, FELD2 from TBL  <enter>
2>go     <enter>


Sie bekommen alle Datensätze der Felder FELD1, FELD2
Verlassen Sie nun die Overfläche wieder mit "exit"

Möchten Sie das Ergebnis eines SQL Statements in eine Datei schreiben (macht Sinn da die Dos - Box nicht sehr konfortabel ist) müssen Sie noch zwei Parameter hinzufügen

SQL SERVER

C:> isql /s localhost /U sa /P "" /d MyDB /Q "select FELD1, FELD2 from TBL1" /o MyOut.txt


MSDE

C:> osql -U sa -P "" -d MyDB -Q "select FELD1, FELD2 from TBL1" -o MyOut.txt


Nun müsste in C: ein Datei namens MyOut.txt existieren und der Inhalt der Datei mit den
Ergebnissen der Abfrage gefüllt sein.

Treiben wir das Spiel ein wenig weiter:
Stellen Sie sich einmal vor sie haben einen Kunden der die MSDE Datenbank verwendet und sie möchten ein Update der Datenbank durchführen. Hier möchte ich Sie auf den Artikel:
Erweitern einer produktiv-Datenbank von 1:1 zu 1:n verweisen, das ist eine typische Anwendung für ein solches Problem.

Na dann an die Arbeit.
Ich habe ein SQL Script das beim Kunden ausgeführt werden muss. Der Kunde hat eine MSDE Datenbank mit den Autorinformationen (siehe Artikel Erweitern einer produktiv-Datenbank von 1:1 zu 1:n) und diese muss mit wenig Aufwand erneuert werden. Am besten man schickt dem Kunden ein email mit den notwendigen Dateien und er muss nur noch mit der Maus auf eine Datei klicken und das Update ist vollzogen.

Sinnvoll ist hier eine *.bat Datei zu generieren. Aus Sicherheitsgründen darf die Information wie Datenbank, Passwort und User nicht per email verschickt werden. Naja dann werden es zwei klicks mit der Maus.

Ich erstelle eine update.bat und schreibe folgende Zeile in diese Datei:

SQL SERVER

isql /s localhost /U %1 /P %2 /d %3 /i update.sql /o update.log


MSDE

osql -U %1 -P %2 -d %3 -i update.sql -o update.log


Das SQL Script steht in der Datei update.sql und die Anweisung wird mir noch eine Log Datei namens
update.log (falls etwas schief geht per email zurück) erstellen

Und fertig.

Die beiden Dateien update.bat und update.sql in ein Verzeichnis kopieren die DOS - Box
aufrufen und folgendes eingeben

C:>update.bat sa "" MyDB


Viel Spass beim testen !


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine Links vorhanden

  Erfasst am: 23.07.2001
  Gültig bis: 24.08.2001
28 Ratings
Bewertung: 87,9%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG