Allgemeines

Wenn Sie für die Bereitstellung von Anwendungen zuständig sind, die mit dem SF Application Creator erstellt wurden, so kommen Sie in den Genuss von besonders einfach zu installierenden Updates.

Die hier gegebenen Informationen sind für Endanwender/innen nicht wichtig, sondern nur für Netzwerkadministratoren.

Abhängig davon, was in der neuen Version neu ist, können Sie so vorgehen:

 

Aufgabe Vorgehensweise
Neue Programmdateien müssen verteilt werden, weil der Client sich geändert hat
  • Verteilen Sie den neuen Client: Wenn Sie die Anwendung nur auf einem Fileserver fürs gesamte Netzwerk bereitstellen, brauchen Sie nur an dieser einen Stelle die Dateien auszutauschen. Falls Sie die Anwendung an einzelne Arbeitsplätze verteilt haben, müssen Sie das mit der neuen Version ebenfalls wieder für alle Arbeitsplätze tun.
Eine Erweiterung der Datenbankstruktur ist notwendig
  • Rufen Sie den neuen Client als jemand angemeldet auf, der in der betreffenden SQL Server-Datenbank dbowner-Rechte hat. Das kann, muss aber nicht unbedingt ein Domain-Admin-Konto sein; es wird empfohlen, grundsätzlich als jemand angemeldet zu arbeiten, der nur die minimal notwendigen Rechte hat. Für eine Erweiterung oder Änderung der Datenbankstruktur benötigen Sie dbowner-Rechte innerhalb der Datenbank.
  • Die Anwendung wird beim Start feststellen, dass die Datenbank aktualisiert werden muss. Stellen Sie sicher, dass Sie für alle Fälle über eine aktuelle Sicherung der Datenbank verfügen und lassen Sie die Anwendung die Datenbank aktualisieren.
  • Bei Programmständen ab 04.03.2013 werden nach der erfolgreichen Datenbankstruktur-Aktualisierung auch automatisch die Berichte in die SQL Server Reporting Services hochgeladen (sofern die Einstellungen dafür in Extras/Optionen... bereits gesetzt waren). Sie brauchen also /forcereports hinterher nicht mehr manuell zu verwenden.
Eine Erweiterung oder Korrektur der Datenbank ist notwendig, die im laufenden Betrieb installiert werden kann
  • Rufen Sie die Anwendung mit dem Kommandozeilenparameter /forcedb auf und lassen Sie die Datenbankobjekte außer Tabellen (Rollen, Sichten, gespeicherte Prozeduren) neu erstellen.
  • Sie können das tun, während Benutzer mit der Anwendung arbeiten.
  • Sie können /forcedb jederzeit wieder verwenden, um sicher zu stellen, dass die Datenbankobjekte korrekt erzeugt sind (z. B. nachdem versehentlich eine gespeicherte Prozedur gelöscht wurde). Wenn Sie sich also nicht sicher sind, ob alles auf aktuellem Stand ist, können Sie das mit /forcedb sicherstellen.
  • /forcedb setzt voraus, dass Sie als jemand mit dbowner-Rechten in der betreffenden Datenbank angemeldet sind.
  • /forcedb erzeugt nicht fehlende Tabellen. Wenn Sie versehentlich Tabellen gelöscht haben, müssen Sie die Datenbank von einer Sicherung wiederherstellen.
  • Wenn kein Datenbankupdate verlangt wurde und der neue Client keine Änderungen außer geänderten Datenbankobjekten (außer Tabellen) mitbringt, brauchen Sie den Client nicht zu verteilen (obwohl Sie das dürfen, wenn Sie möchten).
Neue Berichte stehen zur Verfügung
  • Rufen Sie die Anwendung mit dem Kommandozeilenparameter /forcereports auf.
  • Voraussetzung ist, dass die Reporting-Parameter in der Anwendung unter Extras, Optionen... bereits erfasst wurden (zu beachten bei Erstinstallationen), dass der dort angegebene Ordner innerhalb der Reporting Services bereits existiert und die Datenquelle enthält, und dass die Report-Dateien (*.rdl) im Anwendungsverzeichnis liegen.
  • Sie können das tun, während Benutzer mit der Anwendung arbeiten.
  • Sie können /forcereports jederzeit verwenden, um sicher zu stellen, dass die Berichte korrekt in die SQL Server Reporting Services hochgeladen sind (z. B. nachdem versehentlich Berichte daraus gelöscht wurden). Wenn Sie sich also nicht sicher sind, ob alles auf aktuellem Stand ist, können Sie das mit /forcereports sicherstellen.
  • /forcereports setzt voraus, dass Sie als jemand angemeldet sind, der Reports hochladen darf.

 

Unbeaufsichtigte Installation von Updates

Ab Programmstand 02.09.2008 können Sie die Anwendung auch mit den folgenden Kommandozeilenoptionen aufrufen, um die Updateinstallation vollständig zu automatisieren:

 

 Option Wirkung
/FORCEDB Erzeugt alle Datenbankobjekte außer Tabellen neu: Rollen, Sichten, gespeicherte Prozeduren sowie Zugriffsrechte.
/FORCEREPORTS Lädt alle Berichte in die SQL Server Reporting Services hoch. Dieser Schalter ist bei Programmständen ab 03.07.2010 verfügbar.
/YES Beantwortet Rückfragen automatisch mit Ja.
/QUIT Beendet die Anwendung sofort nach der Aktualisierung.

 

Die Anwendung gibt folgende Rückgabecodes an Batchdateien zurück:

 

 Rückgabecode Bedeutung
0 Die Aktualisierung verlief fehlerfrei.
1 Allgemeiner Fehler.
2 Die Datenbank war nicht erreichbar.
3 Der Benutzer verweigerte eine notwendige Aktualisierung der Datenbankstruktur.
4 Die Aktualisierung der Datenbankstruktur schlug fehl.
5 Die Datenbank liegt in einer neueren Version vor als von der Anwendung erwartet.
6 Beim Hochladen von Berichten in die SQL Server Reporting Services ist ein Fehler aufgetreten.

 

Mit einer Batchdatei wie der folgenden können Sie eine vollautomatische Aktualisierung der Datenbank vornehmen:

start /wait SFAnwendungsname.exe /forcedb /forcereports /yes /quit
if errorlevel 1 echo FEHLER!

start /wait sorgt dafür, dass das Batchfile erst weiterläuft, wenn die Anwendung sich wieder beendet hat (sie würde ansonsten parallel zur Batchdatei weiterlaufen, weil es eine Windows- und keine Kommandozeilenanwendung ist). SFAnwendungsname.exe steht für den Namen der ausführbaren Datei der Anwendung. Die Angabe von /forcedb /forcereports /yes /quit sorgt dafür, dass auf jeden Fall alle Datenbankobjekte erzeugt sind, falls nötig automatisch und ohne Rückfrage eine Datenbankaktualisierung vorgenommen wird, dass ggf. Berichte in die SQL Server Reporting Services hochgeladen werden, und das sich das Programm danach sofort beendet.

Sie können danach die von cmd.exe definierte Variable errorlevel abfragen, um auf das Resultat geeignet zu reagieren.

Stellen Sie bitte sicher, dass das Batchfile mit einem Benutzerkonto angemeldet läuft, welches dbowner-Rechte in der jeweiligen Datenbank hat und ggf. Berichte in die SQL Server Reporting Services hochladen darf. Andernfalls ist eine automatische Aktualisierung nicht möglich. Wichtig: Normale Benutzer der Anwendung dürfen keinen dbowner-Zugriff haben, sondern lediglich Mitglied in den jeweils richtigen von der Anwendung automatisch angelegten Anwendungsrollen sein!