PATEDI NT.ExchangeGate: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
(Probleme bei der Installation)
 
(25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{DISPLAYTITLE:ExchangeGate|noerror}}
 
{{DISPLAYTITLE:ExchangeGate|noerror}}
 +
== Versionen ==
  
==Probleme bei der Installation==
+
=== 9.0.1 Revision 14987 (27.2.2020) ===
Wenn das ExchangeGate direkt nach dem starten abstürzt (z.B. nach einem Update von einer alten Version), können Tabellen und/oder Spalten fehlen.
+
* Die aktuelle 9er Version hat in der Regel alles, was unsere Kunden brauchen
 +
* Basiert auf dem .NET Framework 4.6 und Oracle 12.x.
 +
* Bugfix: Logging Probleme haben teilweise zu einem Absturz geführt. Z.b. wenn die Datenbank nicht erreichbar war ist das Programm unter bestimmten Umständen abgestürzt.
 +
* Bugfix: Wenn das Programm abstürzt läuft der Status Timer auch nicht mehr weiter. Früher hat es das Problem gegeben, dass das Programm abgestürzt ist, aber im Hintergrund trotzdem in die B_TASK_STATUS geschrieben wurde, dass es noch läuft.
  
Dann dieses Skript [[Alter-User-Tables.sql]] ausführen.
+
=== 10.0.0 Revision 16582 (3.8.2020) ===
 +
* Ist die neuste Version
 +
* In den http Settings wurde ein neues Feld „Content Type“ hinzugefügt.
 +
* Basiert auf dem .NET Framework 4.8 und Oracle 19.3.1.
 +
* Oracle Client wird als DLL mitgeliefert
 +
* '''ACHTUNG:''' .NET 4.8 ist nicht auf jedem Server vorhanden und lässt sich auch nicht so einfach installieren. Die 9er Version reicht in der Regel.
  
<pre>
 
drop table CDSROLEOBJECTS cascade constraints PURGE;
 
drop table CDSUSERROLES cascade constraints PURGE;
 
drop table CDSOBJECTS cascade constraints PURGE;
 
drop table CDSROLES cascade constraints PURGE;
 
drop table CDSUSERS cascade constraints PURGE;
 
drop table CDSLOGINDETAILS cascade constraints PURGE;
 
drop table CDSLOGINHISTORY cascade constraints PURGE;
 
drop table CDSUSERASSIGNMENT cascade constraints PURGE;
 
drop table CDSUSERCLAIMS cascade constraints PURGE;
 
drop table CDSUSERFAVORITES cascade constraints PURGE;
 
drop table CDSUSERHISTORY cascade constraints PURGE;
 
drop table CDSUSERLOGINS cascade constraints PURGE;
 
drop table CDSUSERSETTINGS cascade constraints PURGE;
 
  
CREATE TABLE "PAT"."CdsLoginDetails"
+
== Probleme bei der Installation ==
  ( "Id" NVARCHAR2(128),
+
=== Absturz / fehlende Tabellen ===
"Fingerprint" NVARCHAR2(128),
+
Wenn das ExchangeGate direkt nach dem Starten abstürzt (z.B. nach einem Update von einer alten Version), können Tabellen und/oder Spalten fehlen.
"UserId" NVARCHAR2(128),
 
"SessionId" NVARCHAR2(256),
 
"UserAgent" NVARCHAR2(256),
 
"UserHostName" NVARCHAR2(256),
 
"UserHostAddress" NVARCHAR2(256),
 
"Browser" NVARCHAR2(256),
 
"MobileDevice" NVARCHAR2(256),
 
"FirstLogin" DATE,
 
"LastLogin" DATE,
 
"LastAliveSignal" DATE,
 
"ModuleId" NVARCHAR2(50)
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE TABLE "PAT"."CdsLoginHistory"
 
  ( "Id" NVARCHAR2(128),
 
"CdsLoginDetailId" NVARCHAR2(128),
 
"UserId" NVARCHAR2(128),
 
"Text" NVARCHAR2(1000),
 
"LogLevel" NVARCHAR2(128),
 
"Time" DATE,
 
"ModuleId" NVARCHAR2(50),
 
"Version" NVARCHAR2(50)
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE TABLE "PAT"."CdsRoles"
 
  ( "Id" NVARCHAR2(128),
 
"Name" NVARCHAR2(256),
 
"Discriminator" NVARCHAR2(128)
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE TABLE "PAT"."CdsUserClaims"
 
  ( "Id" NUMBER(10,0),
 
"UserId" NVARCHAR2(128),
 
"ClaimType" NCLOB,
 
"ClaimValue" NCLOB
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"
 
LOB ("ClaimType") STORE AS BASICFILE (
 
  TABLESPACE "JUNGPFL" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
 
  NOCACHE LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
 
LOB ("ClaimValue") STORE AS BASICFILE (
 
  TABLESPACE "JUNGPFL" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
 
  NOCACHE LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT));
 
 
 
CREATE TABLE "PAT"."CdsUserLogins"
 
  ( "LoginProvider" NVARCHAR2(128),
 
"ProviderKey" NVARCHAR2(128),
 
"UserId" NVARCHAR2(128),
 
"IdentityUser_Id" NVARCHAR2(128)
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE TABLE "PAT"."CdsUserRoles"
 
  ( "UserId" NVARCHAR2(128),
 
"RoleId" NVARCHAR2(128)
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE TABLE "PAT"."CdsUsers"
 
  ( "Id" NVARCHAR2(128),
 
"Language" NVARCHAR2(10),
 
"Type" NVARCHAR2(20),
 
"WebEnabled" NUMBER(1,0),
 
"Name" NVARCHAR2(50),
 
"PasswordResetEndDate" DATE,
 
"RegisterEmailSent" NUMBER(1,0),
 
"CreatedBy" NVARCHAR2(10),
 
"ChangedBy" NVARCHAR2(10),
 
"CreatedAt" NVARCHAR2(22),
 
"ChangedAt" NVARCHAR2(22),
 
"Email" NVARCHAR2(256),
 
"EmailConfirmed" NUMBER(1,0),
 
"PasswordHash" NCLOB,
 
"SecurityStamp" NCLOB,
 
"PhoneNumber" NCLOB,
 
"PhoneNumberConfirmed" NUMBER(1,0),
 
"TwoFactorEnabled" NUMBER(1,0),
 
"LockoutEndDateUtc" DATE,
 
"LockoutEnabled" NUMBER(1,0),
 
"AccessFailedCount" NUMBER(10,0),
 
"UserName" NVARCHAR2(256),
 
"DesktopEnabled" NUMBER(1,0),
 
"CommunicationType" NVARCHAR2(20),
 
"PasswordResetEnabled" NUMBER(1,0),
 
"PasswordSetDate" DATE,
 
"Remarks" NVARCHAR2(1000),
 
"OneTimeCodeEncrypted" NVARCHAR2(1000),
 
"PasswordEncrypted" NVARCHAR2(1000)
 
  ) SEGMENT CREATION IMMEDIATE
 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 
NOCOMPRESS LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"
 
LOB ("PasswordHash") STORE AS BASICFILE (
 
  TABLESPACE "JUNGPFL" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
 
  NOCACHE LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
 
LOB ("SecurityStamp") STORE AS BASICFILE (
 
  TABLESPACE "JUNGPFL" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
 
  NOCACHE LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
 
LOB ("PhoneNumber") STORE AS BASICFILE (
 
  TABLESPACE "JUNGPFL" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
 
  NOCACHE LOGGING
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT));
 
 
 
CREATE UNIQUE INDEX "PAT"."PK_CdsLoginDetails" ON "PAT"."CdsLoginDetails" ("Id")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE UNIQUE INDEX "PAT"."PK_CdsLoginHistory" ON "PAT"."CdsLoginHistory" ("Id")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE UNIQUE INDEX "PAT"."PK_CdsRoles" ON "PAT"."CdsRoles" ("Id")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE UNIQUE INDEX "PAT"."IX_CdsRoles_Name" ON "PAT"."CdsRoles" ("Name")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE UNIQUE INDEX "PAT"."PK_CdsUserClaims" ON "PAT"."CdsUserClaims" ("Id")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE UNIQUE INDEX "PAT"."PK_CdsUserLogins" ON "PAT"."CdsUserLogins" ("LoginProvider", "ProviderKey", "UserId")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE INDEX "PAT"."IX_CdsUserLogins_Id_1940767604" ON "PAT"."CdsUserLogins" ("IdentityUser_Id")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE UNIQUE INDEX "PAT"."PK_CdsUserRoles" ON "PAT"."CdsUserRoles" ("UserId", "RoleId")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
CREATE INDEX "PAT"."IX_CdsUserRoles_RoleId" ON "PAT"."CdsUserRoles" ("RoleId")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
REATE UNIQUE INDEX "PAT"."PK_CdsUsers" ON "PAT"."CdsUsers" ("Id")
 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL";
 
 
 
ALTER TABLE "PAT"."CdsLoginDetails" ADD CONSTRAINT "PK_CdsLoginDetails" PRIMARY KEY ("Id")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
 
 
ALTER TABLE "PAT"."CdsLoginDetails" MODIFY ("LastAliveSignal" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginDetails" MODIFY ("LastLogin" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginDetails" MODIFY ("FirstLogin" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginDetails" MODIFY ("UserId" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginDetails" MODIFY ("Fingerprint" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginDetails" MODIFY ("Id" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginHistory" ADD CONSTRAINT "PK_CdsLoginHistory" PRIMARY KEY ("Id")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
ALTER TABLE "PAT"."CdsLoginHistory" MODIFY ("Time" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginHistory" MODIFY ("LogLevel" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsLoginHistory" MODIFY ("Id" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsRoles" ADD CONSTRAINT "PK_CdsRoles" PRIMARY KEY ("Id")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
 
 
ALTER TABLE "PAT"."CdsRoles" MODIFY ("Discriminator" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsRoles" MODIFY ("Name" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsRoles" MODIFY ("Id" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserClaims" ADD CONSTRAINT "PK_CdsUserClaims" PRIMARY KEY ("Id")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
 
 
ALTER TABLE "PAT"."CdsUserClaims" MODIFY ("UserId" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserClaims" MODIFY ("Id" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserLogins" ADD CONSTRAINT "PK_CdsUserLogins" PRIMARY KEY ("LoginProvider", "ProviderKey", "UserId")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
 
 
ALTER TABLE "PAT"."CdsUserLogins" MODIFY ("UserId" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserLogins" MODIFY ("ProviderKey" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserLogins" MODIFY ("LoginProvider" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserRoles" ADD CONSTRAINT "PK_CdsUserRoles" PRIMARY KEY ("UserId", "RoleId")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
ALTER TABLE "PAT"."CdsUserRoles" MODIFY ("RoleId" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserRoles" MODIFY ("UserId" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("PasswordResetEnabled" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" ADD CONSTRAINT "PK_CdsUsers" PRIMARY KEY ("Id")
 
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
 
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
 
  TABLESPACE "JUNGPFL"  ENABLE;
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("UserName" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("AccessFailedCount" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("LockoutEnabled" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("TwoFactorEnabled" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("PhoneNumberConfirmed" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("EmailConfirmed" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("RegisterEmailSent" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("PasswordResetEndDate" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("WebEnabled" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("DesktopEnabled" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUsers" MODIFY ("Id" NOT NULL ENABLE);
 
ALTER TABLE "PAT"."CdsUserLogins" ADD CONSTRAINT "FK_CdsUserLogins_Ide_722323630" FOREIGN KEY ("IdentityUser_Id")
 
  REFERENCES "PAT"."CdsUsers" ("Id") ENABLE;
 
ALTER TABLE "PAT"."CdsUserRoles" ADD CONSTRAINT "FK_CdsUserRoles_RoleId" FOREIGN KEY ("RoleId")
 
  REFERENCES "PAT"."CdsRoles" ("Id") ON DELETE CASCADE ENABLE;
 
 
 
CREATE TABLE "CdsObjects"
 
(
 
"Id" NVARCHAR2(150) NOT NULL
 
, "Name" NVARCHAR2(150) NOT NULL
 
, "ParentId" NVARCHAR2(150) NOT NULL
 
, "Project" NVARCHAR2(40) NOT NULL
 
, "CheckAuto" NUMBER(1) DEFAULT 0 NOT NULL
 
, CONSTRAINT "CdsObjects_PK" PRIMARY KEY
 
(
 
"Id"
 
)
 
USING INDEX
 
(
 
CREATE UNIQUE INDEX "CdsObjects_PK" ON "CdsObjects" ("Id" ASC)
 
)
 
ENABLE
 
);
 
  
CREATE TABLE "CdsRoleObjects"
+
* '''ACHTUNG''': ''Dieses Skript ist veraltet. Die Tabellennamen haben jetzt Groß- und Kleinschreibung, z.B. '''CdsUsers''' statt '''CDSUSERS'''.''<br /><del>Dann [[Alter-User-Tables.sql|dieses Skript (Alter-User-Tables.sql)]] ausführen.</del>
(
 
"RoleId" NVARCHAR2(128) NOT NULL
 
, "ObjectId" NVARCHAR2(150) NOT NULL
 
, "PrivilegeType" NVARCHAR2(10)
 
, CONSTRAINT "CdsRoleObjects_PK" PRIMARY KEY
 
(
 
"ObjectId"
 
, "RoleId"
 
)
 
ENABLE
 
);
 
  
ALTER TABLE "CdsObjects" MODIFY ("ParentId" NULL);
+
* Danach kann noch [[Update_E-Tabellen_ExchangeGate|ein weiteres Skript]] ausgeführt werden, wen das ExchangeGate dies nicht schon über ein Pop-up-Fenster hat machen lassen.
ALTER TABLE "CdsUsers" ADD ("IsSuperuser" NUMBER(1) NOT NULL);
 
ALTER TABLE "CdsUsers" ADD ("ForceNewPassword" NUMBER(1) NOT NULL);
 
  
 +
* Ist die neue Version 12 oder höher, kann auch folgendes helfen:
 +
<pre>
 +
ALTER TABLE "CdsUsers" ADD "SalesRepId" VARCHAR2(10 CHAR);
 +
ALTER TABLE "CdsUsers" ADD "CustomerId" VARCHAR2(10 CHAR);
 +
ALTER TABLE "CdsUsers" ADD "SupplierId" VARCHAR2(10 CHAR);
 +
UPDATE CDS_FILTERS SET OBJECT_NAME = REPLACE(OBJECT_NAME, 'CDS.ClientModule.BI.Forms.BIFilterDialog', 'CDS.ClientModule.InformationSystem.BI.Forms.BIFilterDialog') WHERE OBJECT_NAME LIKE 'CDS.ClientModule.BI.Forms%';
 +
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2'), "ParentId" = 'CEC.Modules.InformationSystem.Forms.BI' where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI.Forms.2%';
 +
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI', 'CEC.Modules.InformationSystem'), "ParentId" = REPLACE("ParentId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI%';
 +
update "CdsObjects" set "Id" = REPLACE("Id",'BICreatorForm', 'BIDesignerForm') where "Project" = 'CEC';
 +
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2') where "ObjectId" like 'CEC.Modules.BI.Forms.2%';
 +
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "ObjectId" like 'CEC.Modules.BI%';
 +
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'BICreatorForm', 'BIDesignerForm');
 +
</pre>
  
ALTER TABLE "CdsRoles" ADD ("Type" NVARCHAR2(20) );
+
=== Falsche Oracle Version ===
  
CREATE TABLE "CdsUserAssignment"
+
Was sein kann: Wenn ein alter Oracle Client am Rechner installiert ist, muss dieser aus dem GAC entfernt werden, damit man keine Versionskonflikte bekommt.
(
 
  "Timest" VARCHAR2(22) NOT NULL
 
, "UserId" NVARCHAR2(128) NOT NULL
 
, "EntityId" NVARCHAR2(50)
 
, "EntityType" NVARCHAR2(50) NOT NULL
 
, "Scope" NVARCHAR2(50) NOT NULL
 
, CONSTRAINT "CdsUserAssignment_PK" PRIMARY KEY
 
  (
 
    "Timest"
 
  )
 
  USING INDEX
 
  (
 
      CREATE UNIQUE INDEX "CdsUserAssignment_PK" ON "CdsUserAssignment" ("Timest" ASC)
 
  )
 
  ENABLE
 
);
 
  
 +
D.h. in der machine.config müssen alle Verweise auf Oracle.ManagedDataAccess entfernt werden:
  
CREATE TABLE "CdsUserSettings"
+
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
(
 
  "Timest" VARCHAR2(22) NOT NULL
 
, "UserId" NVARCHAR2(128) NOT NULL
 
, "Key" NVARCHAR2(50) NOT NULL
 
, "Value" NVARCHAR2(20) NOT NULL
 
, CONSTRAINT "CdsUserSettings_PK" PRIMARY KEY
 
  (
 
    "Timest"
 
  )
 
  USING INDEX
 
  (
 
      CREATE UNIQUE INDEX "CdsUserSettings_PK" ON "CdsUserSettings" ("Timest" ASC)
 
  )
 
  ENABLE
 
);
 
  
CREATE TABLE "CdsUserFavorites"
+
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
(
+
  "Id" VARCHAR2(22) NOT NULL
 
, "UserId" NVARCHAR2(128) NOT NULL
 
, "Url" NVARCHAR2(256)
 
, "CreatedAt" DATE
 
, "Description" VARCHAR2(256)
 
, "Scope" VARCHAR2(50)
 
, CONSTRAINT "CdsUserFavorites_PK" PRIMARY KEY
 
  (
 
    "Id"
 
  )
 
  USING INDEX
 
  (
 
      CREATE UNIQUE INDEX "CdsUserFavorites_PK" ON "CdsUserFavorites" ("Id" ASC)
 
  )
 
  ENABLE
 
);
 
  
 +
Teilweise müssen die lokalen Oracle.ManagedDataAccess DLLs auch entfernt werden:
  
CREATE TABLE "CdsUserHistory"
+
C:\Windows\Microsoft.NET\assembly\GAC_32
(
 
  "Id" VARCHAR2(22) NOT NULL
 
, "UserId" NVARCHAR2(128) NOT NULL
 
, "Url" NVARCHAR2(256)
 
, "CreatedAt" DATE
 
, "Description" VARCHAR2(256)
 
, "Scope" VARCHAR2(50)
 
, "Type" VARCHAR2(50)
 
, "TypeId" VARCHAR2(100)
 
, CONSTRAINT "CdsUserHistory_PK" PRIMARY KEY
 
  (
 
    "Id"
 
  )
 
  USING INDEX
 
  (
 
      CREATE UNIQUE INDEX "CdsUserHistory_PK" ON "CdsUserHistory" ("Id" ASC)
 
  )
 
  ENABLE
 
);
 
  
ALTER TABLE "CdsUserAssignment" ADD ("ModuleId" NVARCHAR2(50) );
+
C:\Windows\Microsoft.NET\assembly\GAC_64
ALTER TABLE "CdsUserAssignment" ADD ("EntityGroup" NVARCHAR2(50) );
 
ALTER TABLE "CdsUserHistory" ADD "LastAccess" DATE;
 
ALTER TABLE "CdsUserHistory" ADD "CreatedAt" DATE;
 
ALTER TABLE "CdsUserFavorites" MODIFY "CreatedAt" VARCHAR2(22);
 
alter table "CdsUserSettings" modify "Timest" VARCHAR2(22);
 
  
ALTER TABLE "CdsObjects" MODIFY "Id" NVARCHAR2(500);
+
ALTER TABLE "CdsRoleObjects" MODIFY "ObjectId" NVARCHAR2(500);
+
Das kommt aus der offiziellen Anleitung von Oracle, offensichtlich sind die auch draufgekommen, dass das mit dem GAC keinen Mehrwert bietet.
  
alter table "CdsUserHistory" drop column "CreatedAt";
+
Bei Problemen bei der Installationen bitte an Muamer wenden, von dem kommen auch die Versionen.
  
--PO 09.01.2018
+
== Email Notification ==
ALTER TABLE "CdsLoginDetails" ADD "ServerHostName" VARCHAR2(256 CHAR);
 
ALTER TABLE "CdsLoginHistory" ADD "ServerHostName" VARCHAR2(256 CHAR);
 
ALTER TABLE "CdsUserSettings" ADD "Project" VARCHAR2(50 CHAR);
 
  
--PO 01.03.2018
+
=== Einstellungen ===
alter table "CdsUserSettings" modify "Value" NVARCHAR2(200);
+
[[Infomail_Settings#Wie wir der Port eingestellt|Mehr zu den Einstellungen des Servers und des Ports]]
  
--PO 12.04.2018
+
=== Fehler Codes ===
alter table "CdsObjects" add "CodeFullName" NVARCHAR2(200);
+
==== CDS Codes ====
alter table "CdsObjects" add "CodeType" NVARCHAR2(200);
+
* [[CU_2001|Fehler CU_2001: Customer not found]]
  
--PO 12.06.2018 Dynamische Objekte werden jetzt über Data Range abgebildet)
+
==== Plug-Plant Codes ====
delete from "CdsObjects" where "Project" = 'PatMobile' and "Id" like 'Mobile.View.Availability.Filter.Form.%';
+
* Fangen bis auf weiteres alle mit pp_ an und sind kleingeschrieben (im Gegensatz zu den CDS Codes)
delete from "CdsObjects" where "Project" = 'PatMobile' and "Id" like 'Mobile.View.Availability.Filter.Department.%';
+
* pp_tpp: Oracle Exception vom Trigger TPP_TLOG_IN_E_DATA_INFO (u.a.?), weil der nicht in tlog schreibt, denn der kopiert selber aus tlog.
delete from "CdsObjects" where "Project" = 'PatMobile' and "Id" like 'Mobile.View.Availability.Filter.ProductGroup.%';
+
* pp_tlog: Einträge aus Tlog, die übers ExchangeGate verschickt werden sollen. Werden dort vom Trigger TPP_TlOG_IN_E_DATA_INFO eingetragen (tlog.id wird zu e_data_info.partner.id).
delete from "CdsObjects" where "Project" = 'PatMobile' and "Id" like 'Mobile.View.Availability.Filter.ArticleGroup.%';
 
delete from "CdsObjects" where "Project" = 'PatMobile' and "Id" like 'Mobile.View.Availability.Filter.ProductionDevice.%';
 
  
delete from "CdsRoleObjects" where "ObjectId" like 'Mobile.View.Availability.Filter.Form.%';
+
== Module bei Kunden ==
delete from "CdsRoleObjects" where "ObjectId" like 'Mobile.View.Availability.Filter.Department.%';
+
=== Aders ===
delete from "CdsRoleObjects" where "ObjectId" like 'Mobile.View.Availability.Filter.ProductGroup.%';
+
* SARIS_ORDER_IMP_TXT_DB
delete from "CdsRoleObjects" where "ObjectId" like 'Mobile.View.Availability.Filter.ArticleGroup.%';
+
* '''Achtung''': Benötigt '''64 Bit''' ODBC Treiber (mit Namen PAT, oder auch anders, je nach Config Datei)
delete from "CdsRoleObjects" where "ObjectId" like 'Mobile.View.Availability.Filter.ProductionDevice.%';
+
* Version 11.4.2016
 
+
* FL_HANDPREIS fest 'N'?
--PO 19.11.2018 Neue Spalte für Windows Username
 
ALTER TABLE "CdsUsers" ADD ("WindowsUsername" NVARCHAR2(256));
 
</pre>
 

Aktuelle Version vom 29. Dezember 2021, 15:11 Uhr

1 Versionen

1.1 9.0.1 Revision 14987 (27.2.2020)

  • Die aktuelle 9er Version hat in der Regel alles, was unsere Kunden brauchen
  • Basiert auf dem .NET Framework 4.6 und Oracle 12.x.
  • Bugfix: Logging Probleme haben teilweise zu einem Absturz geführt. Z.b. wenn die Datenbank nicht erreichbar war ist das Programm unter bestimmten Umständen abgestürzt.
  • Bugfix: Wenn das Programm abstürzt läuft der Status Timer auch nicht mehr weiter. Früher hat es das Problem gegeben, dass das Programm abgestürzt ist, aber im Hintergrund trotzdem in die B_TASK_STATUS geschrieben wurde, dass es noch läuft.

1.2 10.0.0 Revision 16582 (3.8.2020)

  • Ist die neuste Version
  • In den http Settings wurde ein neues Feld „Content Type“ hinzugefügt.
  • Basiert auf dem .NET Framework 4.8 und Oracle 19.3.1.
  • Oracle Client wird als DLL mitgeliefert
  • ACHTUNG: .NET 4.8 ist nicht auf jedem Server vorhanden und lässt sich auch nicht so einfach installieren. Die 9er Version reicht in der Regel.


2 Probleme bei der Installation

2.1 Absturz / fehlende Tabellen

Wenn das ExchangeGate direkt nach dem Starten abstürzt (z.B. nach einem Update von einer alten Version), können Tabellen und/oder Spalten fehlen.

  • Danach kann noch ein weiteres Skript ausgeführt werden, wen das ExchangeGate dies nicht schon über ein Pop-up-Fenster hat machen lassen.
  • Ist die neue Version 12 oder höher, kann auch folgendes helfen:
ALTER TABLE "CdsUsers" ADD "SalesRepId" VARCHAR2(10 CHAR);
ALTER TABLE "CdsUsers" ADD "CustomerId" VARCHAR2(10 CHAR);
ALTER TABLE "CdsUsers" ADD "SupplierId" VARCHAR2(10 CHAR);
UPDATE CDS_FILTERS SET OBJECT_NAME = REPLACE(OBJECT_NAME, 'CDS.ClientModule.BI.Forms.BIFilterDialog', 'CDS.ClientModule.InformationSystem.BI.Forms.BIFilterDialog') WHERE OBJECT_NAME LIKE 'CDS.ClientModule.BI.Forms%';
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2'), "ParentId" = 'CEC.Modules.InformationSystem.Forms.BI' where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI.Forms.2%';
update "CdsObjects" set "Id" = REPLACE("Id",'CEC.Modules.BI', 'CEC.Modules.InformationSystem'), "ParentId" = REPLACE("ParentId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "Project" = 'CEC' and "Id" like 'CEC.Modules.BI%';
update "CdsObjects" set "Id" = REPLACE("Id",'BICreatorForm', 'BIDesignerForm') where "Project" = 'CEC';
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI.Forms.2', 'CEC.Modules.InformationSystem.Forms.BI.2') where "ObjectId" like 'CEC.Modules.BI.Forms.2%';
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'CEC.Modules.BI', 'CEC.Modules.InformationSystem') where "ObjectId" like 'CEC.Modules.BI%';
update "CdsRoleObjects" set "ObjectId" = REPLACE("ObjectId",'BICreatorForm', 'BIDesignerForm');

2.2 Falsche Oracle Version

Was sein kann: Wenn ein alter Oracle Client am Rechner installiert ist, muss dieser aus dem GAC entfernt werden, damit man keine Versionskonflikte bekommt.

D.h. in der machine.config müssen alle Verweise auf Oracle.ManagedDataAccess entfernt werden:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config


Teilweise müssen die lokalen Oracle.ManagedDataAccess DLLs auch entfernt werden:

C:\Windows\Microsoft.NET\assembly\GAC_32

C:\Windows\Microsoft.NET\assembly\GAC_64


Das kommt aus der offiziellen Anleitung von Oracle, offensichtlich sind die auch draufgekommen, dass das mit dem GAC keinen Mehrwert bietet.

Bei Problemen bei der Installationen bitte an Muamer wenden, von dem kommen auch die Versionen.

3 Email Notification

3.1 Einstellungen

Mehr zu den Einstellungen des Servers und des Ports

3.2 Fehler Codes

3.2.1 CDS Codes

3.2.2 Plug-Plant Codes

  • Fangen bis auf weiteres alle mit pp_ an und sind kleingeschrieben (im Gegensatz zu den CDS Codes)
  • pp_tpp: Oracle Exception vom Trigger TPP_TLOG_IN_E_DATA_INFO (u.a.?), weil der nicht in tlog schreibt, denn der kopiert selber aus tlog.
  • pp_tlog: Einträge aus Tlog, die übers ExchangeGate verschickt werden sollen. Werden dort vom Trigger TPP_TlOG_IN_E_DATA_INFO eingetragen (tlog.id wird zu e_data_info.partner.id).

4 Module bei Kunden

4.1 Aders

  • SARIS_ORDER_IMP_TXT_DB
  • Achtung: Benötigt 64 Bit ODBC Treiber (mit Namen PAT, oder auch anders, je nach Config Datei)
  • Version 11.4.2016
  • FL_HANDPREIS fest 'N'?