Files
Database/FCLT.SRC
Jos Groot Lipman 5d783e2dc2 FCLT#88579 Facilitor utf-8 ondersteuning
svn path=/Database/trunk/; revision=69990
2025-08-13 11:05:07 +00:00

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