infra:NET User
 
×
3.4.2 Konfigurationsdatei SBASESQL.ini
Im Verzeichnis des infra:NET Servers befindet sich die Konfigurationsdatei „SBASESQL.INI“ für die SQL-Anbindung des infra:NET Servers. Die Angaben in dieser Datei werden sowohl für die serverbasierte Online- und Totalreplikation, als auch vom OLTP SyncAgent verwendet. Außerdem befindet sich hier eine zentrale Konfigurationsmöglichkeit für den Standard-ConnectionString, der von jedem infra:NET Client für direkte Zugriffe auf die SQL-Datenbank genutzt werden kann (StdClientConnectionString).
Zu jeder Datenquelle existieren in der SBASESQL.INI 4 Sektionen:
[Datenquelle]
[Datenquelle_Total]
[Datenquelle_CONNECTION_PROPERTY]
[Datenquelle_DYN_CONNECTION_PROPERTY]
Die Angaben für die Online-Replikation befinden sich ausschließlich in der ersten Sektion. Der Rest ist nur für die Total-Replikation von Bedeutung.
Sektion [Datenquelle]
OnlineReplication: Yes|No
Mit diesem Schalter kann die serverbasierte Online-Replikation für diese Datenquelle aktiviert (Yes) werden. Bei eingeschalteter Online-Replikation werden alle verändernden Datenbankoperationen vom infra-Datenbankserver an eine ODBC-Datenquelle und somit z.B. an eine SQL-Datenbank weitergegeben.
ACHTUNG!
Die serverbasierte Online-Replikation darf nicht gleichzeitig mit der clientbasierten Online-Replikation betrieben werden. Die clientbasierte Online-Replikation wird über den Schalter „OnlineReplication“ in der INI-Datei des Replikations Datenbanktreibers (sdbrepl.dll) aktiviert bzw. deaktiviert. Der Replikations Datenbanktreiber selbst sollte nicht deaktiviert werden (Eintrag in SIBDB.INI), da sonst keine Total-Replikation durchgeführt werden kann.
Beispiel:
OnlineReplication: Yes
ConnectionString: “string“
ACHTUNG!
Datensicherheit! Aus diesem Eintrag ist das Kennwort für das SQL Login (im nachstehenden Beispiel "INFRA") frei ersichtlich. Sorgen Sie deshalb dafür, dass diese Datei bzw. deren Verzeichnis nur für den Administrator zugänglich ist!
Dieser Eintrag wird bei eingeschalteter Online-Replikation für den Aufbau der Verbindung zur SQL-Datenbank verwendet. Der ConnectionString kann ein ODBC-Connectionstring mit einer zu verwendenden ODBC-Datenquelle (DSN=datenquelle) oder ein ADO-Connectionstring sein.
Beispiele:
ODBC-Connectionstring (mit DSN und SQL-Anmeldung):
ConnectionString: “DSN=infrasql;UID=INFRA;PWD=geheim;Connect Timeout=10;Command Timeout=120“
ODBC-Connectionstring (mit DSN und Windows-Anmeldung):
ConnectionString: “DSN=infrasql;Trusted_Connection=Yes;Connect Timeout=10;Command Timeout=120“
ADO-Connectionstring für ODBC-Verbindung:
ConnectionString: “Driver={SQL Server};Server=mein Server;Database=INFRA_ECHT;Trusted_Connection=yes;Connect Timeout=10;Command Timeout=120“
ADO-Connectionstring für OLEDB-Verbindung (mit Windows-Anmeldung):
ConnectionString: “Provider=SQLOLEDB;Data Source=mein Server;Initial Catalog=INFRA_ECHT;Integrated Security=SSPI;Connect Timeout=10;Command Timeout=60“
ADO-Connectionstring für OLEDB-Verbindung (mit SQL-Anmeldung):
ConnectionString: “Provider=SQLOLEDB;Data Source=mein Server;Initial Catalog=INFRA_ECHT;User Id=INFRA;Password=geheim;Connect Timeout=10;Command Timeout=60“
Auf der Internetseite https://www.connectionstrings.com/ sind zahlreiche Informationen zu unterschiedlichsten ConnectionStrings zusammengestellt.
ReplicateTables: [ALL|list|range]
Bei Online- und Total-Replikation (serverbasiert) werden nur die hier angegebenen Tabellen repliziert. Mit „ALL“ werden alle replikationsfähigen infra-Tabellen repliziert. Durch Kommata getrennt können einzelne Tabellenindizes oder Bereiche von Tabellenindizes angegeben werden. Arbeitsplatzabhängige Tabellen werden standardmäßig nicht mit repliziert, sondern müssten explizit über den Eintrag „ReplicateLocalTables: Yes“ aktiviert werden.
Beispiele:
ReplicateTables: ALL
ReplicateTables: 6-11,27,105
ReplicateLocalTables: Yes|No
Um auch arbeitsplatzabhängige Dateien bei der Replikation zu berücksichtigen muss dieser Eintrag auf „Yes“ gesetzt werden.
Beispiele:
ReplicateLocalTables: Yes
AsyncTables: [ALL|list|range]
Beim Einsatz des OLTP SyncAgent für die asynchrone Online-Replikation werden nur die hier angegebenen Tabellen über den SyncAgent repliziert. Mit „ALL“ werden alle unter „ReplicateTables“ angegebenen infra-Tabellen repliziert. Durch Kommata getrennt können einzelne Tabellenindizes oder Bereiche von Tabellenindizes angegeben werden. Alle Tabellen, die hier aufgeführt werden, müssen auch bei „ReplicateTables“ eingetragen sein. Tabellen, die nur bei „ReplicateTables“ und nicht bei „AsyncTables“ eingetragen sind, werden synchron (ohne OLTP SyncAgent) repliziert.
Beispiele:
AsyncTables: ALL
AsyncTables: 6-11,27,105
 IgnoreODBCErrors: Yes|No
Dieser Schalter bestimmt, ob bei der Online-Replikation auftretende ODBC-Fehler als schwere Fehler an die infra-Clients weitergegeben (No) oder ignoriert (Yes) werden sollen. Selbst wenn die ODBC Fehler ignoriert werden, findet unabhängig davon ein Eintrag im Server-Protokoll sbasesrv.log statt (als Verursacher wird „ODBC“ vermerkt).
Beispiele:
IgnoreODBCErrors: Yes
 Script_Tabelle: Skriptdatei
Mit diesem Eintrag kann je Datenbanktabelle auf eine eigene Skript-Datei verwiesen werden, die nach der serverbasierten Totalreplikation der jeweiligen Tabelle automatisch ausgeführt wird. Damit lassen sich zum Beispiel individuelle Trigger oder sonstige Einstellungen für die SQL-Datenbanktabellen hinterlegen, die nach der serverbasierten Totalreplikation einer Tabelle wieder hergestellt werden müssen. Tabelle gibt dabei an, für welche SQL-Tabelle die jeweilige Skriptdatei ausgeführt werden soll. Fehlt dieser Eintrag, sucht die Totalreplikation im Server-Verzeichnis nach einer zur jeweiligen Tabelle passenden Skriptdatei der Form TABELLE.SQL und führt diese bei Vorhandensein aus.
Beispiel
Script_TEILE: C:\INFRA\Skripte\TriggerTEILE.sql
StoredProcScript: Pfad/Dateiname (Default: C:\Program Files\infra\server\sql\IP_GEN2K.SQL)
Wird bei der Totalreplikation eine infra-SQL-Datenbank komplett neu aufgebaut (zum Beispiel Totalreplikation mit Löschen der vorhandenen Datenbank), führt die Totalreplikation automatisch auf der neu angelegten Datenbank das hier angegebene SQL-Script aus. Im Standard enthält dieses Script die Anweisungen zur Generierung der für die infra-Replikation benötigten Stored Procedures. Ist dieser Schlüssel nicht vorhanden, wird das infra-Standardscript IP_GEN2K.SQL aus dem infra-Verzeichnis C:\Program Files\infra\server\sql verwendet.
StdClientConnectionString: Verbindungszeichenfolge             (Default = keine)
In der SQL-Konfigurationsdatei des infra:NET Servers SBASESQL.INI kann je Datenquelle eine universelle Verbindungszeichenfolge (ConnectionString) für alle infra:NET Clients hinterlegt werden. Über diese Verbindungsangabe werden von den Client-PCs aus Verbindungen zur jeweiligen (datenquellenabhängigen) SQL-Datenbank aufgebaut, d.h. die Angaben müssen so aufgebaut sein, dass sie eine Verbindung aus Sicht des Clients ermöglichen.
Die universelle Verbindungsangabe wird von folgenden infra:NET Komponenten verwendet, sofern keine spezielle Verbindung in den INI-Dateien der infra:NET Anwendung für die jeweilige Komponente hinterlegt ist:
  • infra:ADO und Makros SQLShowResults, SQLSelect und SQLExec
  • SQL-Auftragsassistent infra:OMA2
  • Auskunftssystem infra:Query mit SQL-Zugriff
  • Alle Charts mit infra:Chart
  • Crystal Reports Viewer 13 (wenn keine Angaben in der INI-Sektion [CRVIEWER] existieren)
  • Einkaufsvorgänge disponieren“ (73D), verwendet infra:ADO, infra:OMA2 und infra:Chart
Die Verwendung der universellen Verbindungsangabe bietet darüber hinaus den Vorteil, dass sensible Anmeldedaten vor Zugriffen aus dem Intranet besser geschützt sind.
Sektion [Datenquelle_TOTAL]
COLLATION: SQL-Sortierfolge/Codepage                    (Default = SQL_Latin1_General_Cp850_BIN)
Um in der replizierten SQL-Datenbank „Sonderzeichen“ einer osteuropäischen Sprache speichern zu können, ist eine Anpassung der SQL-Sortierfolge notwendig (z.B. „Polish_BIN“). Nach einer Änderung ist die SQL-Datenbank zu löschen und per Totalreplikation neu aufzubauen. Übergangsweise kann eine Umstellung der Datenbank per „ALTER DATABASE“ (siehe unten) und Totalreplikation der im Wesentlichen betroffenen Tabellen durchgeführt werden.
ACHTUNG!
Dieser Eintrag ist auch in der clientseitigen infraSQL.INI notwendig!
Beim Einsatz des OLTP-SyncAgent bitte Kapitel 3.3.3.2 beachten und Registry-Eintrag „Codepage“ auf 1250 einstellen!
Das Arbeiten mit abweichenden Zeichensätzen/Codepages in infra:NET erfordert weitere Vorbereitungen und ist mit Einschränkungen verbunden (siehe Kapitel 2.8.4 Osteuropäische Zeichensätze).
Codepage-Umstellung per „ALTER DATABASE“
use master
go
alter database INFRA_SPIEL set offline with rollback immediate
go
alter database INFRA_SPIEL set online
go
alter database INFRA_SPIEL collate Czech_Bin
go
Weitere Einstellungen in Sektion [Datenquelle_TOTAL]:
Server:                       SERVER\INSTANZ
DefaultDatabase:              INFRA_ECHT
ConnectionStringSuffix:       Server=SERVER\INSTANZ;Database=INFRA_ECHT
Um sich mit SQL Server-Authentifizierung zu verbinden, müssen folgende Attribute in der Sektion […_CONNECTION_PROPERTY] gesetzt werden (nicht bei ConnectionStringSuffix!):
[ECHT_CONNECTION_PROPERTY]
Integrated Security:          SSPI
User ID:                      Benutzername
Password:                     Kennwort
Um sicherzustellen, dass Sonderzeichen bei Total- und Onlinereplikation identisch in der SQl Datenbank abgebildet warden, muss folgendes Attribut in der Sektion […_CONNECTION_PROPERTY] gesetzt werden:
[ECHT_CONNECTION_PROPERTY]
Auto Translate:               True