AktualisierungsstandMärz 2025
Produktrelevanzab estos ProCall 8.0 Enterprise

Datenbanken

Seit ProCall Enterprise 8.0 wird Microsoft Access als Journal-Datenbank nicht mehr unterstützt. Im ProCall 8 Enterprise erforderliche Datenbank-Updates werden nur noch für SQL-basierte Datenbanken durchgeführt

Es ist zwingend erforderlich, den UCServer für die Verwendung einer SQL-basierten Datenbank umzustellen.
In dieser Anleitung ist beschrieben, wie Sie auf SQLite als Datenbank umstellen.

Wenn Sie einen Wechsel auf Microsoft SQL Server planen, folgen Sie bitte der Anleitung unter Best Practice: Umstellung der UCServer Datenbank auf Microsoft SQL Server.
Bitte beachten Sie dabei auch die Einschränkungen beim Einsatz von Microsoft SQL Server Express.

Die Inhalte der Microsoft Access Datenbank können mit dem Tool ConvertUCServerMDB2SQLite.exe übernommen werden.

Die Portierung von Datenbeständen zwischen zwei Datenbanksystemen fällt in den Aufgabenbereich eines Datenbankadministrators.

Die folgende Anleitung und das seitens estos bereitgestellte Werkzeug ConvertUCServerMDB2SQLite.exe ist unverbindliche Hilfestellung für die Übernahme eines Datenbestandes von Microsoft Access zu SQLite gedacht und erfordert Fachkenntnis bei der Betreuung von Datenbanken.

  • Bitte haben Sie Verständnis dafür, dass dieses Werkzeug ConvertUCServerMDB2SQLite.exe grundsätzlich vom estos-seitigen Support ausgeschlossen ist.

Wann muss die Datenbank umgestellt werden?

Die Umstellung muss zwingend mit der Version 8.3.5 durchgeführt werden, da es Änderungen für das Schreiben in der Datenbank gibt.

Die Umstellung kann mit jeder ProCall 8 Enterprise Version vorgenommen werden.

Wie kann ich prüfen, welche Datenbank genutzt wird?

Welche Datenbank genutzt wird, sehen Sie in der UCServer Verwaltung unter Allgemein – Datenbank.

Ist hier noch „Access & SQLite“ eingestellt , müssen die Daten übernommen und die Datenbank umgestellt werden. 

Datenübernahme aus Microsoft Access

Zur Übernahme der Daten führen Sie folgende Schritte aus:

Beenden Sie den UCServer Dienst.

Sichern Sie das Verzeichnis „….\UCServer\database“.

Kopieren Sie die „ConvertUCServerMDB2SQLite.exe“ aus dem Verzeichnis „…\UCServer\Supportfiles“ in das Verzeichnis „….\UCServer\database“.

Führen Sie die „ConvertUCServerMDB2SQLite.exe“ aus.

Hier haben Sie folgende Möglichkeiten:

  • per Doppelklick
    Sie erhalten keine Informationen zu Fehlern.
  • in einer administrativen CMD
    Es werden Meldungen zu Ablauf und Fehler ausgegeben.

Mit erfolgreicher Datenübernahme werden zwei neue Dateien erzeugt:

  • CtiServerDatabasejournal.db
  • CtiServerDatabasetask.db

Starten Sie den UCServer Dienst.

Melden Sie sich in der UCServer Verwaltung an und stellen Sie unter Allgemein – Datenbank die Datenbank auf „SQLite“ um. 

Starten Sie den UCServer Dienst neu.

Die Datenübernahme und Umstellung auf SQLite ist damit abgeschlossen.

Weitere Parameter und Logging

ConvertUCServerMDB2SQLite.exe [-h] [-i INPUTFILE] [-o OUTPUTFILE] [--verbose] [--version]
POWERSHELL
optional arguments:
  -h, --help            show this help message and exit
  -i INPUTFILE, --inputfile INPUTFILE
                        MS Access database filename
  -o OUTPUTFILE, --outputfile OUTPUTFILE
                        SQLite database filename
  --verbose             Print some more info while processing
  --version             show program's version number and exit
POWERSHELL

Um erweitertes Logging zu aktivieren, verwenden Sie also den Parameter --verbose.

Bekannte Probleme und Einschränkungen

Fehlermeldung ODBC Exception - Cannot open database '(unknown)'

Insofern die Konvertierung der Datenbanken Fehlerausgaben dieser Art zeigt

Databaseconverter 20240205

Convert C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasejournal.mdb -> CtiServerDatabasejournal.db ...

Connect to MDB: Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasejournal.mdb;
Error openning MDB: Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasejournal.mdb;

ODBC Exception:
('HY000', "[HY000] [Microsoft][ODBC Microsoft Access Driver] Cannot open database '(unknown)'.  It may not be a database that your application recognizes, or the file may be corrupt. (-1028) (SQLDriverConnect); [HY000] [Microsoft][ODBC Microsoft Access Driver] Cannot open database '(unknown)'.  It may not be a database that your application recognizes, or the file may be corrupt. (-1028)")
CODE

versuchen Sie,

  • die Datenbankdatei CtiServerDatabasejournal.mdb mittels Microsoft Access zu öffnen,
  • mit dem darin enthaltenen Datenbanktool Datenbank komprimieren und reparieren den Datenbestand zu reorganisieren und
  • diese auf diese Weise bearbeitete Datenbank als Access 2000-Datenbank (*.mdb) zu speichern.

Derselbe Vorgang ist mit der Datenbankdatei CtiServerDatabasetask.mdb durchzuführen.

Diese auf diese Weise bearbeiteten Datenbankdateien sollten sich dann problemlos erfolgreich konvertieren lassen:

Databaseconverter 20240205

Convert C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasejournal.mdb -> CtiServerDatabasejournal.db ...

Connect to MDB: Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasejournal.mdb;

Source table found: journal
Source table found: ValueProperties
Transfer table to SQLite: journal
Create tables for journal ...
CREATE TABLE journal ("TabIndex" INTEGER PRIMARY KEY, "EntryID" TEXT(255), "ConnectionID" TEXT(255), "StartTime" DATETIME, "StopTime" DATETIME, "DurationTotal" INTEGER, "ConnectTime" DATETIME, "DisconnectTime" DATETIME, "DurationConnected" INTEGER, "Outbound" SMALLINT, "Internal" SMALLINT, "LineNumber" TEXT(255), "LineName" TEXT(100), "LineUserName" TEXT(100), "LineUserOffline" SMALLINT, "LocalNumber" TEXT, "PhoneNumber" TEXT, "RedirectingNumber" TEXT, "ContactName" TEXT(100), "ContactCompany" TEXT(100), "ContactEntryID" TEXT, "ContactEntryStoreID" TEXT, "ContactEntryDBID" TEXT(4), "CTIServerUserName" TEXT(255), "ProviderNumber" TEXT(42), "Charging" REAL, "SuccessState" SMALLINT, "Subject" TEXT(255), "Memo" TEXT, "ReadFlag" SMALLINT, "ProjectName" TEXT(255), "ProjectID" TEXT(255), "PrivateCall" SMALLINT, "TrackerID" TEXT(36), "AcceptorName" TEXT(100), "AcceptorCtiServerUserName" TEXT(255), "AcceptorConnectionID" TEXT(255), "ProjectLocationID" TEXT(255), "TrackerLastCall" SMALLINT, "NoStatistic" SMALLINT, "CallType" INTEGER, "Label" TEXT(255), "TrackerCallFlow" SMALLINT, "Deleted" BOOLEAN CHECK ("Deleted" IN (0, 1)), "TransactionID" INTEGER DEFAULT 1);
CREATE UNIQUE INDEX IX_journal_ConnectionID ON journal (ConnectionID)
CREATE INDEX IX_journal_StartTime ON journal (StartTime ASC)
CREATE INDEX IX_journal_TransactionID ON journal (TransactionID ASC)
CREATE TABLE [ValueProperties] ([Name] TEXT CONSTRAINT [PK_ValueProperties] PRIMARY KEY, [Value] INTEGER NULL)
task_version 4
Transferred 379128 rows in table journal
Transfer table to SQLite: ValueProperties
    Name [VARCHAR(20)]
    Value [INTEGER(10)]
Transferred 1 rows in table ValueProperties
Conversion of journal successful

Databaseconverter 20240205

Convert C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasetask.mdb -> CtiServerDatabasetask.db ...

Connect to MDB: Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Program Files (x86)\estos\UCServer\database\CtiServerDatabasetask.mdb;
Source table found: task
Source table found: ValueProperties
Transfer table to SQLite: task
Create tables for journal ...
CREATE TABLE [ValueProperties] ( [Name] TEXT CONSTRAINT [PK_ValueProperties] PRIMARY KEY, [Value] INTEGER NULL )
CREATE TABLE task ("TabIndex" INTEGER PRIMARY KEY, "EntryID" TEXT, "Subject" TEXT, "DatabaseContact" TEXT, "CallPhoneNumber" TEXT, "ProjectName" TEXT, "ProjectPIN" TEXT, "StartDate" DATETIME, "DueDate" DATETIME, "State" SMALLINT, "Priority" SMALLINT, "DelegationState" SMALLINT, "ReminderActive" BOOLEAN, "ReminderTime" DATETIME, "ReminderFile" TEXT, "Owners" TEXT, "Creator" TEXT, "CreationTime" DATETIME, "Body" TEXT, "DateCompleted" DATETIME, "CompletedFrom" TEXT, "Privacy" SMALLINT, "ProjectLocationID" TEXT)
task_version 2
Transferred 32594 rows in table task
Transfer table to SQLite: ValueProperties
    Name [VARCHAR(20)]
    Value [INTEGER(10)]
Transferred 1 rows in table ValueProperties
Conversion of tasks successful
CODE


Weiterführende Informationen

Migration Datenbestand der internen UCServer Datenbank von Microsoft Access nach SQL Server

ProCall 8.0 Enterprise Release Notes

Best Practice: Umstellung der UCServer Datenbank auf Microsoft SQL Server

Einschränkungen beim Einsatz von Microsoft SQL Server Express

ProCall 8 Enterprise Systemvoraussetzungen

ProCall Journal wird nach einem UCServer Update auf Version 8.3.4 nicht mehr geschrieben