SyncTool einrichten: Unterschied zwischen den Versionen

Aus Wiki-Onlinehandbuch für ShopMaster
Zur Navigation springen Zur Suche springen
K
K
 
(42 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
== '''''ShopMaster''''' ==
== '''''ShopMaster''''' ==


'''''ShopMaster''''' erkennt an einem Eintrag in der SM.INI, dass das [[7.12_SQL-Anbindung|Synctool]] verwendet wird. Der Eintrag lautet:
'''''ShopMaster''''' erkennt an einem Eintrag in der SM.INI, dass das [[7.12_SQL-Anbindung|SyncTool]] verwendet wird. Der Eintrag lautet:


{| border="1" cellpadding="5" cellspacing="0"
{| border="1" cellpadding="5" cellspacing="0"
Zeile 12: Zeile 12:
|}
|}


wobei <Pfad zum Sync-Verzeichnis> ein neu anzulegendes Verzeichnis ist, welches das Synctool (siehe weiter unten) überwacht. Sowohl jeder '''''ShopMaster'''''-Benutzer als auch das SyncTool brauchen in diesem Verzeichnis Rechte zum Erstellen, Lesen und Löschen von Dateien.
wobei <Pfad zum Sync-Verzeichnis> ein neu anzulegendes Verzeichnis ist, welches das Synctool ([[SyncTool_einrichten#SyncTool|siehe cWatchDir weiter unten]]) überwacht. Sowohl jeder '''''ShopMaster'''''-Benutzer als auch das SyncTool brauchen in diesem Verzeichnis Rechte zum Erstellen, Lesen und Löschen von Dateien. Der Pfad wird '''ohne''' abschließenden Backslash '\' angegeben.




Zeile 24: Zeile 24:
|-
|-
| <tt> cWatchDir</tt>
| <tt> cWatchDir</tt>
| <tt> <Pfad zum Sync-Verzeichnis> (siehe oben)</tt>
| <tt> <Pfad zum Sync-Verzeichnis> ([[SyncTool_einrichten#ShopMaster|siehe cWatchSQLPath weiter oben]])</tt><br>ohne abschließendem Backslash ( "\" )
|
|
|-
|-
| <tt> cSMDir</tt>
| <tt> cSMDir</tt>
| <tt> <Pfad zum '''''ShopMaster'''''-Verzeichnis></tt>
| <tt> <Pfad zum '''''ShopMaster'''''-Verzeichnis></tt><br>vor Version 2.0 mit abschließendem Backslash ( "\" )
|
|
|-
|-
Zeile 41: Zeile 41:
| <tt> cPassword</tt>
| <tt> cPassword</tt>
| <tt> <Passwort für MySQL></tt>
| <tt> <Passwort für MySQL></tt>
| (kein)
| *******
|-
|-
| <tt> nMySQLPort</tt>
| <tt> nMySQLPort</tt>
Zeile 61: Zeile 61:




Da in der mysql.ini Benutzername und Passwort für den MySQL Server angegeben werden müssen, empfiehlt es sich, allen Benutzern für das Verzeichnis, in dem das SyncTool installiert ist, die Rechte zu entziehen und nur einem speziellen Benutzer bzw. Benutzergruppe den Zugriff auf das Verzeichnis zu erlauben unter dessen Kontext auch das SyncTool gestartet wird. Die benötigten Pfade in der mysql.ini können Sie entweder relativ zum Installationsverzeichnis des SyncTools oder absolut aus Sicht des Benutzers (am entpr. Rechner/Server) auswählen, der das SyncTool später auch starten oder stoppen wird.
Da in der mysql.ini Benutzername und Passwort für den MySQL Server angegeben werden muss, empfiehlt es sich, allen Benutzern für das Verzeichnis, in dem das SyncTool installiert ist, die Rechte zu entziehen und nur einem speziellen Benutzer bzw. Benutzergruppe den Zugriff auf das Verzeichnis zu erlauben unter dessen Kontext auch das SyncTool gestartet wird. Die benötigten Pfade in der mysql.ini können Sie entweder relativ zum Installationsverzeichnis des SyncTools oder absolut aus Sicht des Benutzers (am entpr. Rechner/Server) auswählen, der das SyncTool später auch starten oder stoppen wird.




=== Der erste Start des SyncTools ===
{| border="1" cellpadding="5" cellspacing="0" style="background:#efefef;"
! colspan="2"| Beispiel für eine mysql.ini:
|-
| <tt><table style="background:#efefef;">
    <tr>
      <td>cWatchDir&nbsp;</td>
      <td>D:\PROGS\SHOPMAST\SQL</td>
    </tr>
    <tr>
      <td>cSMDir</td>
      <td>D:\PROGS\SHOPMAST\</td>
    </tr>
    <tr>
      <td>cUser</td>
      <td>Admin</td>
    </tr>
    <tr>
      <td>cPassword</td>
      <td>Geheim</td>
    </tr>
  </table></tt>
|}
 
 
=== Der erste Start des SyncTools (Neuinstallation) ===


Läuft der MySQL-Server und sind die Serverinformationen sowie Benutzername und Passwort richtig in der mysql.ini hinterlegt erstellt das SyncTool beim ersten Start die Datenbank 'shopmaster'. Zum ersten Befüllen der Tables muss nach dem Start jede Table manuell gesynct werden. Dazu wählen sie die entspr. Menüpunkte des SyncTools.
Läuft der MySQL-Server und sind die Serverinformationen sowie Benutzername und Passwort richtig in der mysql.ini hinterlegt erstellt das SyncTool beim ersten Start die Datenbank 'shopmaster'. Zum ersten Befüllen der Tables muss nach dem Start jede Table manuell gesynct werden. Dazu wählen sie die entspr. Menüpunkte des SyncTools.
=== Der erste Start des SyncTools (Update) ===
Nach einem Update müssen als erstes die Strukturen der Tables und deren Inhalte überprüft werden. Wählen Sie dazu direkt nach dem ersten Start des neuen Synctools den manuellen Komplettsync aller Tables einzeln an. Wählen Sie dabei unbedingt die Option, die gesamten Daten '''komplett neu''' zu übertragen, denn nur so werden ggf. neue Felder in die Tables eingefügt und deren Werte bei den vorhandenen Datensätzen ergänzt.
=== Aufrufparameter ===
{| border="1" cellpadding="5" cellspacing="0"
|style="background:#efefef;"| <tt> SyncTool.exe [<Überwachungsverzeichnis> [<Pfad zum ShopMaster>]] <nowiki>[//USR:<Benutzer>] [//PWD:<Passwort>]</nowiki></tt>
|}
==== optionale Aufrufparameter ====
# Parameter: <Überwachungsverzeichnis>
# Parameter: <Pfad zum ShopMaster>
Wird ein Überwachungsverzeichnis angegeben, so ersetzt dies den INI Eintrag [[SyncTool_einrichten#SyncTool|cWatchDir]]. Wird ein "-" als erster Parameter angegeben, wird kein Verzeichnis überwacht. Wird als erster Parameter eine Zahl angegeben, wird der entsprechende Menüpunkt des Synctols ausgeführt und anschließend das Synctool wieder beendet.
Wird ein zweiter Parameter angegeben, so ersetzt dieser den INI-Eintrag [[SyncTool_einrichten#SyncTool|cSMDir]]. Wurde kein zweiter Eintrag übergeben und ist auch in der INI der Eintrag cSMDir nicht vorhanden oder leer, wird ab Synctool v2.0 in der Registry nach einem '''''ShopMaster''''' Pfad gesucht (HKCU\Software\mhTec GmbH\ShopMaster\DefaultPath).
==== zusätzliche optionale Aufrufparameter ab Version 2.0 ====
* <nowiki>//PWD:<Passwort></nowiki> &nbsp; wird dieser Aufrufparameter angegeben und ist in der INI kein cPassword Eintrag vorhanden, wird <Passwort> als Passwort für die Verbindung zum MySQL-Server verwendet. Mit //PWD als Parameter wird ein leeres Passwort übergeben. Ist in der INI-Datei kein cPassword Eintrag vorhanden und wird auch kein //PWD Aufrufparameter übergeben, erfolgt eine Benutzer und Passwortabfrage beim Start des Programms.
* <nowiki>//USR:<Benutzer></nowiki> &nbsp; wird dieser Aufrufparameter angegeben und ist in der INI kein cUser Eintrag vorhanden, wird <Benutzer> als Benutzer für die Verbindung zum MySQL-Server verwendet.
=== mehrfaches Starten des Synctools ===
Das Synctool läßt sich mehrmals aufrufen, aber nur die als erstes gestartete Instanz des Synctools überwacht auch das in der MYSQL.INI angegebene Verzeichnis [[SyncTool_einrichten#SyncTool|cWatchDir]]. Alle weiteren Instanzen des Synctools Überwachen das Verzeichnis nicht und geben dies beim Start auch als Meldung aus.
=== Beenden des Synctools ===
Um das Synctool zu beenden und damit auch die Verbindung zum SQL-Server bzw. zu den '''''ShopMaster''''' Dateien zu schließen (&nbsp;z.B. für Backup&nbsp;) haben Sie 2 Möglichkeiten:
# Manuelles Schließen des Programms durch den Menüpunkt Ende
# Erstellen Sie im Verzeichnis [[SyncTool_einrichten#SyncTool|cWatchDir]] (siehe MYSQL.INI Eintrag weiter oben) eine Datei mit dem Namen "00.close". Sobald das Synctool diese Datei im überwachten Verzeichnis findet und seine aktiven Sync-Aufgaben erledigt hat, wird die Datei 00.close gelöscht, die Datenverbindungen geschlossen und das Programm beendet.

Aktuelle Version vom 12. Februar 2016, 16:34 Uhr



SQL-Datenbank

Download, Installation und Betrieb der MySQL Datenbank entnehmen Sie bitte dem Reference Manual von und für MySQL bzw. in einer etwas älteren Fassung dem Online-Handbuch in deutsch.


ShopMaster

ShopMaster erkennt an einem Eintrag in der SM.INI, dass das SyncTool verwendet wird. Der Eintrag lautet:

cWatchSQLPath <Pfad zum Sync-Verzeichnis>

wobei <Pfad zum Sync-Verzeichnis> ein neu anzulegendes Verzeichnis ist, welches das Synctool (siehe cWatchDir weiter unten) überwacht. Sowohl jeder ShopMaster-Benutzer als auch das SyncTool brauchen in diesem Verzeichnis Rechte zum Erstellen, Lesen und Löschen von Dateien. Der Pfad wird ohne abschließenden Backslash '\' angegeben.


SyncTool

Das SyncTool besteht aus 2 Dateien, dem SyncTool.EXE und der libmysql.dll. Dazu kommt noch die mysql.ini, aus der das SyncTool seine Konfiguration liest. Folgende Einträge sind dabei - falls kein Defaultwert angegeben - nötig:

mysql.ini Default
cWatchDir <Pfad zum Sync-Verzeichnis> (siehe cWatchSQLPath weiter oben)
ohne abschließendem Backslash ( "\" )
cSMDir <Pfad zum ShopMaster-Verzeichnis>
vor Version 2.0 mit abschließendem Backslash ( "\" )
cServer <URL zum Server> localhost
cUser <Benutzername für MySQL> root
cPassword <Passwort für MySQL> *******
nMySQLPort <Port des MySQL-Servers> 3306
nMySQLFlag <Flags zur Verbindung mit MySQL-Server> 0
nCloseMin <Minuten der Inaktivität, nach denen die Verbindung zum Server geschlossen wird> 15
nPingMin <Minuten der Inaktivität, nach denen die Verbindung zum Server überprüft wird> 3


Da in der mysql.ini Benutzername und Passwort für den MySQL Server angegeben werden muss, empfiehlt es sich, allen Benutzern für das Verzeichnis, in dem das SyncTool installiert ist, die Rechte zu entziehen und nur einem speziellen Benutzer bzw. Benutzergruppe den Zugriff auf das Verzeichnis zu erlauben unter dessen Kontext auch das SyncTool gestartet wird. Die benötigten Pfade in der mysql.ini können Sie entweder relativ zum Installationsverzeichnis des SyncTools oder absolut aus Sicht des Benutzers (am entpr. Rechner/Server) auswählen, der das SyncTool später auch starten oder stoppen wird.


Beispiel für eine mysql.ini:
cWatchDir  D:\PROGS\SHOPMAST\SQL
cSMDir D:\PROGS\SHOPMAST\
cUser Admin
cPassword Geheim


Der erste Start des SyncTools (Neuinstallation)

Läuft der MySQL-Server und sind die Serverinformationen sowie Benutzername und Passwort richtig in der mysql.ini hinterlegt erstellt das SyncTool beim ersten Start die Datenbank 'shopmaster'. Zum ersten Befüllen der Tables muss nach dem Start jede Table manuell gesynct werden. Dazu wählen sie die entspr. Menüpunkte des SyncTools.


Der erste Start des SyncTools (Update)

Nach einem Update müssen als erstes die Strukturen der Tables und deren Inhalte überprüft werden. Wählen Sie dazu direkt nach dem ersten Start des neuen Synctools den manuellen Komplettsync aller Tables einzeln an. Wählen Sie dabei unbedingt die Option, die gesamten Daten komplett neu zu übertragen, denn nur so werden ggf. neue Felder in die Tables eingefügt und deren Werte bei den vorhandenen Datensätzen ergänzt.


Aufrufparameter

SyncTool.exe [<Überwachungsverzeichnis> [<Pfad zum ShopMaster>]] [//USR:<Benutzer>] [//PWD:<Passwort>]


optionale Aufrufparameter

  1. Parameter: <Überwachungsverzeichnis>
  2. Parameter: <Pfad zum ShopMaster>

Wird ein Überwachungsverzeichnis angegeben, so ersetzt dies den INI Eintrag cWatchDir. Wird ein "-" als erster Parameter angegeben, wird kein Verzeichnis überwacht. Wird als erster Parameter eine Zahl angegeben, wird der entsprechende Menüpunkt des Synctols ausgeführt und anschließend das Synctool wieder beendet.

Wird ein zweiter Parameter angegeben, so ersetzt dieser den INI-Eintrag cSMDir. Wurde kein zweiter Eintrag übergeben und ist auch in der INI der Eintrag cSMDir nicht vorhanden oder leer, wird ab Synctool v2.0 in der Registry nach einem ShopMaster Pfad gesucht (HKCU\Software\mhTec GmbH\ShopMaster\DefaultPath).


zusätzliche optionale Aufrufparameter ab Version 2.0

  • //PWD:<Passwort>   wird dieser Aufrufparameter angegeben und ist in der INI kein cPassword Eintrag vorhanden, wird <Passwort> als Passwort für die Verbindung zum MySQL-Server verwendet. Mit //PWD als Parameter wird ein leeres Passwort übergeben. Ist in der INI-Datei kein cPassword Eintrag vorhanden und wird auch kein //PWD Aufrufparameter übergeben, erfolgt eine Benutzer und Passwortabfrage beim Start des Programms.
  • //USR:<Benutzer>   wird dieser Aufrufparameter angegeben und ist in der INI kein cUser Eintrag vorhanden, wird <Benutzer> als Benutzer für die Verbindung zum MySQL-Server verwendet.


mehrfaches Starten des Synctools

Das Synctool läßt sich mehrmals aufrufen, aber nur die als erstes gestartete Instanz des Synctools überwacht auch das in der MYSQL.INI angegebene Verzeichnis cWatchDir. Alle weiteren Instanzen des Synctools Überwachen das Verzeichnis nicht und geben dies beim Start auch als Meldung aus.


Beenden des Synctools

Um das Synctool zu beenden und damit auch die Verbindung zum SQL-Server bzw. zu den ShopMaster Dateien zu schließen ( z.B. für Backup ) haben Sie 2 Möglichkeiten:

  1. Manuelles Schließen des Programms durch den Menüpunkt Ende
  2. Erstellen Sie im Verzeichnis cWatchDir (siehe MYSQL.INI Eintrag weiter oben) eine Datei mit dem Namen "00.close". Sobald das Synctool diese Datei im überwachten Verzeichnis findet und seine aktiven Sync-Aufgaben erledigt hat, wird die Datei 00.close gelöscht, die Datenverbindungen geschlossen und das Programm beendet.