212 lines
6.4 KiB
Plaintext
212 lines
6.4 KiB
Plaintext
/*
|
|
* $Revision$
|
|
* $Id$
|
|
*
|
|
* Script to initialise a FACILITOR database schema in Oracle
|
|
*/
|
|
#define FCLT_CREATE
|
|
|
|
#include "modules.h"
|
|
#include "comsql.h"
|
|
|
|
SET TIME ON
|
|
SET HEADING OFF
|
|
SET FEEDBACK OFF
|
|
SET ECHO OFF
|
|
SET SERVEROUTPUT ON SIZE UNLIMITED;
|
|
|
|
column fcltlogfile new_value fcltlogfile NOPRINT;
|
|
select 'FACILITOR'|| _DBV_STRING || '_' || UPPER(USER || '_' || sys_context('USERENV', 'SERVICE_NAME') || '_' || sys_context('USERENV', 'SERVER_HOST')) || '_' || to_char(sysdate,'YYYYMMDD_HH24MISS') || '.lst' as fcltlogfile from dual;
|
|
spool &fcltlogfile
|
|
|
|
WHENEVER SQLERROR EXIT;
|
|
DECLARE
|
|
tekst VARCHAR2 (1000);
|
|
charset VARCHAR2 (1000);
|
|
n_object NUMBER (10);
|
|
BEGIN
|
|
SELECT MIN(client_charset)
|
|
INTO charset
|
|
FROM v$session_connect_info
|
|
WHERE sid = sys_context('USERENV','SID');
|
|
IF charset <> 'WE8MSWIN1252' THEN
|
|
tekst := '=================================================================' || CHR(10)
|
|
|| 'Foute clientside NLS_LANG voor dit Facilitor script.' || CHR(10)
|
|
|| 'WE8MSWIN1252 is nodig, ik vermoed '|| charset || CHR(10)
|
|
|| 'Geef bijvoorbeeld in Windows voordat SQL*Plus opstart:' || CHR(10)
|
|
|| 'SET NLS_LANG=.WE8MSWIN1252' || CHR(10)
|
|
|| 'Het script wordt nu afgebroken!' || CHR(10)
|
|
|| '=================================================================' || CHR(10);
|
|
RAISE_APPLICATION_ERROR(-20000, 'OR'||'A-' || CHR(10) || tekst);
|
|
END IF;
|
|
|
|
-- Negeer MLD_T_UITVOERTIJD die we nogal eens 'precreated' hebben
|
|
SELECT COUNT (*)
|
|
INTO n_object
|
|
FROM USER_OBJECTS
|
|
WHERE object_type <> 'TYPE';
|
|
IF (n_object > 0)
|
|
THEN
|
|
RAISE_APPLICATION_ERROR (-20000, 'OR' || 'A-' || 'Schema ' || USER || ' must be empty before creating database');
|
|
END IF;
|
|
|
|
IF USER = 'SYS' OR USER = 'SYSTEM' THEN
|
|
RAISE_APPLICATION_ERROR(-20000, 'Cannot create Facilitor database on user ' || USER);
|
|
END IF;
|
|
END;
|
|
/
|
|
WHENEVER SQLERROR CONTINUE;
|
|
|
|
PROMPT [&fcltlogfile]
|
|
PROMPT
|
|
PROMPT Copyright 1996-2025 Aareon Nederland B.V. All rights reserved.
|
|
PROMPT
|
|
PROMPT This is the generated list-file of EVALCONCAT(FCLT,_DBV).sql which was used
|
|
PROMPT to create the Facilitor(r) EVALCONCAT(DB,_DBV) schema in Oracle
|
|
PROMPT
|
|
SELECT 'Current os_user: ' || SYS_CONTEXT( 'userenv', 'os_user' ) FROM DUAL;
|
|
PROMPT
|
|
|
|
ALTER SESSION SET nls_length_semantics='char';
|
|
|
|
SET LINESIZE 1000
|
|
SET DEFINE OFF
|
|
SET ECHO ON
|
|
#include "adm\adm_tab.src"
|
|
#include "adm\adm_seq.src"
|
|
#include "adm\adm_tri.src"
|
|
/* adm_pac.src komt straks nog een keer met de recreate maar we hebben hem al eerder nodig */
|
|
#include "adm\adm_pac.src"
|
|
|
|
/* TYPES */
|
|
#include "mld\mld_typ.src"
|
|
|
|
/* TABLES */
|
|
#include "fac\fac_tab.src"
|
|
#include "alg\alg_tab.src"
|
|
#include "ins\ins_tab.src"
|
|
#include "prs\prs_tab.src"
|
|
#include "mld\mld_tab.src"
|
|
#include "mrk\mrk_tab.src"
|
|
#include "cad\cad_tab.src"
|
|
#include "res\res_tab.src"
|
|
#include "bez\bez_tab.src"
|
|
#include "web\web_tab.src"
|
|
#include "cnt\cnt_tab.src"
|
|
#include "bes\bes_tab.src"
|
|
#include "fin\fin_tab.src"
|
|
#include "bgt\bgt_tab.src"
|
|
#include "prj\prj_tab.src"
|
|
#include "msg\msg_tab.src"
|
|
#include "kpi\kpi_tab.src"
|
|
#include "ctr\ctr_tab.src"
|
|
#include "aut\aut_tab.src"
|
|
#include "cnd\cnd_tab.src"
|
|
#include "exc\exc_tab.src"
|
|
#include "ini\ini_tab.src"
|
|
|
|
/* SEQUENCES */
|
|
#include "fac\fac_seq.src"
|
|
#include "alg\alg_seq.src"
|
|
#include "ins\ins_seq.src"
|
|
#include "prs\prs_seq.src"
|
|
#include "mld\mld_seq.src"
|
|
#include "mrk\mrk_seq.src"
|
|
#include "cad\cad_seq.src"
|
|
#include "res\res_seq.src"
|
|
#include "bez\bez_seq.src"
|
|
#include "web\web_seq.src"
|
|
#include "cnt\cnt_seq.src"
|
|
#include "bes\bes_seq.src"
|
|
#include "fin\fin_seq.src"
|
|
#include "bgt\bgt_seq.src"
|
|
#include "prj\prj_seq.src"
|
|
#include "msg\msg_seq.src"
|
|
#include "kpi\kpi_seq.src"
|
|
#include "ctr\ctr_seq.src"
|
|
#include "aut\aut_seq.src"
|
|
#include "exc\exc_seq.src"
|
|
#include "ini\ini_seq.src"
|
|
|
|
/* INDICES */
|
|
#include "fac\fac_ind.src"
|
|
#include "alg\alg_ind.src"
|
|
#include "ins\ins_ind.src"
|
|
#include "prs\prs_ind.src"
|
|
#include "mld\mld_ind.src"
|
|
#include "mrk\mrk_ind.src"
|
|
#include "cad\cad_ind.src"
|
|
#include "res\res_ind.src"
|
|
#include "bez\bez_ind.src"
|
|
#include "web\web_ind.src"
|
|
#include "cnt\cnt_ind.src"
|
|
#include "bes\bes_ind.src"
|
|
#include "fin\fin_ind.src"
|
|
#include "bgt\bgt_ind.src"
|
|
#include "prj\prj_ind.src"
|
|
#include "msg\msg_ind.src"
|
|
#include "kpi\kpi_ind.src"
|
|
#include "ctr\ctr_ind.src"
|
|
#include "aut\aut_ind.src"
|
|
#include "exc\exc_ind.src"
|
|
#include "ini\ini_ind.src"
|
|
|
|
/* VIEWS, PACKAGES, TRIGGERS and LOCALES */
|
|
#include "_up/recreate.inc"
|
|
|
|
/* INITIALISATIES */
|
|
#include "fac\fac_ini.src"
|
|
#include "alg\alg_ini.src"
|
|
#include "ins\ins_ini.src"
|
|
#include "prs\prs_ini.src"
|
|
#include "mld\mld_ini.src"
|
|
#include "mrk\mrk_ini.src"
|
|
#include "cad\cad_ini.src"
|
|
#include "res\res_ini.src"
|
|
#include "bez\bez_ini.src"
|
|
#include "web\web_ini.src"
|
|
#include "cnt\cnt_ini.src"
|
|
#include "bes\bes_ini.src"
|
|
#include "fin\fin_ini.src"
|
|
#include "bgt\bgt_ini.src"
|
|
#include "prj\prj_ini.src"
|
|
#include "msg\msg_ini.src"
|
|
#include "kpi\kpi_ini.src"
|
|
#include "ctr\ctr_ini.src"
|
|
#include "aut\aut_ini.src"
|
|
#include "exc\exc_ini.src"
|
|
#include "ini\ini_ini.src"
|
|
|
|
COMMIT;
|
|
|
|
///////////////////////////// finally compile all views, triggers etc acc to the latest state ///////
|
|
BEGIN DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE); END;
|
|
/
|
|
BEGIN fac.registerversion(_DBV_STRING, 'NL'); END;
|
|
/
|
|
REGISTERONCE('$Id$')
|
|
|
|
INSERT INTO adm_tracking
|
|
(adm_tracking_name, adm_tracking_revision)
|
|
VALUES
|
|
('Database created', 'DB' || _DBV_STRING);
|
|
|
|
COMMIT;
|
|
/* Report invalid objects, if any */
|
|
SET ECHO OFF
|
|
SET LINESIZE 132
|
|
PROMPT List of all invalid objects after FACILITOR initialisation:
|
|
SELECT 'OR'||'A-'||'DB'|| _DBV_STRING ||' Warning: ' || object_type || ' ' || object_name || ' is ' || status
|
|
FROM user_objects
|
|
WHERE object_type IN ('VIEW', 'TRIGGER', 'PACKAGE', 'PROCEDURE', 'FUNCTION', 'PACKAGE BODY')
|
|
AND status <> 'VALID'
|
|
ORDER BY object_name;
|
|
|
|
PROMPT ======================================================================
|
|
SELECT 'Schema FACILITOR@' || USER || ' is now ' || fac.getdbversion() FROM DUAL;
|
|
PROMPT
|
|
PROMPT Your schema initialisation is ready. Please check the logfile for errors.
|
|
PROMPT If in doubt please contact: Facilitor Helpdesk +31 53 4800 710
|
|
PROMPT Copyright (c) 1996-2025 Aareon Nederland B.V. All rights reserved.
|
|
SPOOL OFF
|