FCLT#88579 Facilitor utf-8 ondersteuning

svn path=/Database/trunk/; revision=69990
This commit is contained in:
Jos Groot Lipman
2025-08-13 11:05:07 +00:00
parent 1b51be6440
commit 5d783e2dc2
7 changed files with 56 additions and 30 deletions

View File

@@ -203,6 +203,9 @@ AS
raise_application_error(-20001, tekst);
END IF;
-- Voor als een once-script ooit tabellen aanmaakt.
EXECUTE IMMEDIATE 'ALTER SESSION SET nls_length_semantics=''char''';
RETURN tekst;
END;

View File

@@ -13,9 +13,9 @@ CREATE_TABLE(bgt_disc_params,0)
NUMBER (10)
CONSTRAINT bgt_r_ins_discipine_key REFERENCES ins_tab_discipline (ins_discipline_key),
bgt_disc_params_code -- projectcode
VARCHAR2 (20 BYTE),
VARCHAR2 (20 CHAR),
bgt_disc_params_opdrachtgever
VARCHAR2 (200 BYTE),
VARCHAR2 (200 CHAR),
bgt_disc_params_startdatum
DATE
);
@@ -28,18 +28,18 @@ CREATE_TABLE(bgt_project, 0)
NUMBER (10)
CONSTRAINT bgt_r_ins_discipline_key1 REFERENCES ins_tab_discipline (ins_discipline_key),
bgt_project_code
VARCHAR2 (20 BYTE)
VARCHAR2 (20 CHAR)
CONSTRAINT bgt_c_bgt_project_code NOT NULL,
bgt_project_omschrijving
VARCHAR2 (60 BYTE),
VARCHAR2 (60 CHAR),
bgt_project_volgnr
NUMBER (3),
bgt_project_prijspeildatum
DATE,
bgt_project_info
VARCHAR2 (4000 BYTE),
VARCHAR2 (4000 CHAR),
bgt_project_notes
VARCHAR2 (4000 BYTE),
VARCHAR2 (4000 CHAR),
bgt_project_aanmaak
DATE DEFAULT SYSDATE,
bgt_project_verwijder
@@ -59,9 +59,9 @@ CREATE_TABLE(bgt_kostenrubriek,0)
CONSTRAINT bgt_c_bgt_kostenrubriek1 NOT NULL
CONSTRAINT bgt_r_bgt_project_key1 REFERENCES bgt_project (bgt_project_key),
bgt_kostenrubriek_code
VARCHAR2 (20 BYTE),
VARCHAR2 (20 CHAR),
bgt_kostenrubriek_oms
VARCHAR2 (60 BYTE) NOT NULL,
VARCHAR2 (60 CHAR) NOT NULL,
fin_btwtabelwaarde_key
NUMBER(10)
CONSTRAINT bgt_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key)

View File

@@ -1571,7 +1571,7 @@ CREATE_TABLE( fac_menuitems, 0)
fac_menuitems_groep NUMBER(1), /* 0=personal, 1=professional, 2=appmanagement, 3=mobile*/
fac_menuitems_label VARCHAR2 (30 CHAR) NOT NULL,
fac_menuitems_oms VARCHAR2 (60 CHAR),
fac_menuitems_module VARCHAR2 (3 BYTE),
fac_menuitems_module VARCHAR2 (3 CHAR),
fac_menuitems_url VARCHAR2 (60 CHAR),
fac_menuitems_srtdisc NUMBER(1),
fac_menuitems_disc NUMBER(1),
@@ -2204,7 +2204,7 @@ CREATE_TABLE(fac_imp_cnt, 0)
uurtarief NUMBER (6,2),
korting NUMBER (4,2),
locatiecode VARCHAR2 (10),
terreincode VARCHAR2 (12),
terreincode VARCHAR2 (12),
gebouwcode VARCHAR2 (12),
verdiepingcode NUMBER (3),
ruimtecode VARCHAR2 (20),

View File

@@ -22,17 +22,17 @@ spool &fcltlogfile
WHENEVER SQLERROR EXIT;
DECLARE
tekst VARCHAR2 (1000);
charset VARCHAR2 (1000);
n_object NUMBER (10);
BEGIN
CASE ASCII('<27>')
WHEN 191 THEN tekst :='WE8ISO8859P1';
WHEN 128 THEN tekst :='WE8MSWIN1252'; -- De enige goede
ELSE tekst :='UNKNOWN ';
END CASE;
IF tekst <> 'WE8MSWIN1252' THEN
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 ['|| TO_CHAR(ASCII('<27>')) ||'] voor dit Facilitor script.' || CHR(10)
|| 'WE8MSWIN1252 is nodig, ik vermoed '|| 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)
@@ -67,12 +67,15 @@ 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 */
@@ -203,6 +206,6 @@ 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 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

View File

@@ -23,9 +23,9 @@ CREATE_TABLE(web_user_messages, 0)
VARCHAR2(512)
CONSTRAINT web_c_web_mes_dsc NOT NULL,
web_user_mess_action_soort
CHAR(1),
VARCHAR2(1),
web_user_mess_action_status
CHAR(1),
VARCHAR2(1),
web_user_mess_action_params
VARCHAR2(255),
web_user_mess_prioriteit

View File

@@ -41,6 +41,25 @@ ALTER TABLE prs_perslid
DEFAULT 1
NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88579
DECLARE
altersql VARCHAR (4000);
BEGIN
FOR curs IN ( SELECT c.*
FROM user_tab_columns c JOIN user_tables t ON t.table_name = c.table_name
WHERE char_used = 'B'
ORDER BY c.table_name, c.column_name)
LOOP
-- FAC_IMP_OPROGNOSE z<>n kolom ELEMENT is een enigszins reserved woord lijkt. Daarom quotes
altersql :=
'alter table ' || curs.table_name || ' MODIFY "' || curs.column_name || '" VARCHAR (' || curs.data_length || ' CHAR)';
DBMS_OUTPUT.PUT_LINE (altersql);
EXECUTE IMMEDIATE altersql;
END LOOP;
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000

View File

@@ -62,17 +62,17 @@ END;
DECLARE
tekst VARCHAR2 (1000);
charset VARCHAR2 (1000);
BEGIN
CASE ASCII('<27>')
WHEN 191 THEN tekst :='WE8ISO8859P1';
WHEN 128 THEN tekst :='WE8MSWIN1252'; -- De enige goede
ELSE tekst :='UNKNOWN ';
END CASE;
IF tekst <> 'WE8MSWIN1252' THEN
SELECT MIN(client_charset)
INTO charset
FROM v$session_connect_info
WHERE sid = sys_context('USERENV','SID');
IF charset <> 'WE8MSWIN1252' THEN
tekst := '=================================================================' || CHR(10)
|| 'Wrong clientside NLS_LANG ['|| TO_CHAR(ASCII('<27>')) ||'] for this Facilitor upgrade.' || CHR(10)
|| 'WE8MSWIN1252 is required, we suspect '|| tekst || CHR(10)
|| 'Please enter before you start SQL*Plus:' || CHR(10)
|| 'Wrong clientside NLS_LANG for this Facilitor upgrade.' || CHR(10)
|| 'WE8MSWIN1252 is required, we suspect '|| charset || CHR(10)
|| 'Please enter this before you start SQL*Plus:' || CHR(10)
|| ' on Windows:' || CHR(10)
|| ' SET NLS_LANG=.WE8MSWIN1252' || CHR(10)
|| ' on Unix:' || CHR(10)
@@ -130,6 +130,7 @@ variable update_start number
exec :update_start := dbms_utility.get_time
/* om zeker te weten dat eventuele conversies goed gaan */
ALTER SESSION SET nls_territory='america';
ALTER SESSION SET nls_length_semantics='char';
SELECT adm.systeminfo FROM DUAL;