4.2.4. Anlegen von Datenbankschema und Benutzern für ERP (am Beispiel MSSQL)

Im Folgenden wird das Anlegen des Datenbankschemas und das Anlegen des Benutzers "erpuser" erläutert:[64]

  1. Starten Sie Microsoft MSSQL Server-Management Studio.

  2. Legen Sie die Datenbank an: Rechtsklick auf „Datenbanken“ -> „Neue Datenbank“

  3. Tragen Sie im sich öffnenden Dialogfenster Neue Datenbank den gewünschten Datenbanknamen ein und klicken Sie auf „Hinzufügen“ und dann auf OK.

  4. Wählen Sie die Datenbank aus und klicken Sie auf Neue Abfrage.

  5. Nun wird ein SQL-Skript zum Anlegen der Datenbankstruktur benötigt (..\tools\databases\MSSQL\erp_install_mssql.sql).

    Im Folgenden ist dies beispielhaft für MSSQL gezeigt. Unter $CADENAS/tools/databases, finden Sie Datenbankskripte für weitere Datenbanken.

    Kopieren Sie den Inhalt mit Copy & Paste in die leere Abfrage und fügen Sie manuell am Anfang noch Folgendes hinzu:

    USE [datenbankname]
    GO
    ...

    Klicken Sie auf Ausführen.

  6. Öffnen Sie nun eine weitere leere Abfrage und legen Sie den Benutzer "erpuser" an. Sie können als Vorlage das Skript plinkdb_reuse.sql (unter ..\tools\databases\MSSQL) verwenden.

    [Achtung]Achtung

    Passen Sie den Datenbanknamen an!

    USE [master]
    GO
    CREATE LOGIN [erpuser] WITH PASSWORD=N'erpuser', CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    CREATE DATABASE [plinkdb] ON 
    ( FILENAME = N'<DBFILE>' ),
    ( FILENAME = N'<DBLOGFILE>' )
     FOR ATTACH
    GO
    if not exists (select name from master.sys.databases sd where name = N'plinkdb' and 
     SUSER_SNAME(sd.owner_sid) = SUSER_SNAME() ) 
     EXEC [plinkdb].dbo.sp_changedbowner @loginame=N'sa', @map=false
    GO
    USE [plinkdb]
    GO
    DROP USER [erpuser]
    GO
    CREATE USER [erpuser] FOR LOGIN [erpuser] WITH DEFAULT_SCHEMA=[dbo]
    GO

    Klicken Sie auf Ausführen.

    -> Nun sollte das Datenbankschema und der Benutzer „erpuser“ vorhanden sein.

  7. Abschließend müssen Sie nun noch den „erpuser“ mit den gewünschten Rechten ausstatten: Rechtsklick auf „erpuser“ -> "Eigenschaften"

  8. Definieren Sie im sich öffnenden Dialogfenster die gewünschten Mitgliedschaften für den betreffenden User bestätigen Sie abschließend mit OK.

Database creation scripts with new GRANT sections

Ab V12.9 gibt es unterschiedliche Skripte mit verschiedenen GRANT Abschnitten für "erpuser" und "psadmin". Bis dahin gab es keine Unterscheidung zwischen Standard- und Admin-Rechten.

CREATE USER IF NOT EXISTS 'erpuser' IDENTIFIED WITH mysql_native_password BY 'erpuser';

GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.ERPTABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.LINKTABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.CLASSFOLDERTABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.CLASSTABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.PRJTABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.PLMTABLE2 to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.PLM_HIERARCHY to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.CNSSEQ to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.TREETABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.LOGTABLE to erpuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.EXPORTTABLE to erpuser;

Der Admin muss auch in der Lage sein, Spalten-Definitionen in der ERPTABLE zu ändern.

CREATE USER IF NOT EXISTS 'psadmin' IDENTIFIED WITH mysql_native_password BY 'psadmin';

GRANT ALTER, SELECT, INSERT, UPDATE, DELETE ON partlinkdb.ERPTABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.LINKTABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.CLASSFOLDERTABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.CLASSTABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.PRJTABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.PLMTABLE2 to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.PLM_HIERARCHY to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.CNSSEQ to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.TREETABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.LOGTABLE to psadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON partlinkdb.EXPORTTABLE to psadmin;

In PARTadmin kann unter Datenbankverbindung [Database connection] die Verbindung überprüft werden.




[64] Hier beispielhaft für MSSQL Verwenden Sie das für Ihren Datenbanktyp vorgesehene Skript (siehe Abschnitt 4.2.4.1, „Installations Skripte “) und passen es entsprechend an.