Bonjour,

Nous essayons d'exécuter une série de scripts SQL via Sql*Plus et nous rencontrons l'erreur ORA-00972: identifier is too long , alors que sous SQL Developper le script s'execute sans erreur.

Les script de commande :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
cls
@echo off
 
set ID_SCRIPTS=LOT3
set LOG_FILE=%ID_SCRIPTS%_scripts_%3.log
 
set ORACLE_HOME=C:\sharedapps\RT\N881732b
set TNS_ADMIN=C:\sharedapps\RT\OraConf
set PATH=%ORACLE_HOME%\BIN;%PATH%
set NLS_LANG=AMERICAN_FRANCE.WE8ISO8859P1
 
if "%1" == "" goto usage_global
if "%2" == "" goto usage_global
if "%3" == "" goto usage_global
 
echo > %LOG_FILE%
echo ====================================== >> %LOG_FILE%
echo == Run %ID_SCRIPTS%_scripts.sql             == >> %LOG_FILE%
echo ====================================== >> %LOG_FILE%
SQLPLUS -s %1/%2@%3 @%ID_SCRIPTS%_scripts.sql  >> %LOG_FILE%
echo ====================================== >> %LOG_FILE%
echo == Fin %ID_SCRIPTS%_scripts.sql             == >> %LOG_FILE%
echo ====================================== >> %LOG_FILE%
 
goto fin_global
:usage_global
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º USAGE : %ID_SCRIPTS%_exec_sql.bat login pwd instance º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
:fin_global
echo ÉÍÍÍÍÍÍÍÍÍ»
echo º THE END º
echo ÈÍÍÍÍÍÍÍÍͼ
pause
La liste des scripts SQL à exécuter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
 
set echo on
set define off
 
prompt
prompt ============== RUN LOT3-database_schema.sql -;
prompt
@./ddl/obj/LOT3-database_schema.sql
 
prompt
prompt ============== RUN LOT3_BG_dml.sql -;
prompt
@./dml/obj/LOT3_BG_dml.sql
 
prompt
prompt ============== RUN LOT3_CS_dml.sql -;
prompt
@./dml/obj/LOT3_CS_dml.sql
 
prompt
prompt ============== RUN LOT3_DA_dml.sql -;
prompt
@./dml/obj/LOT3_DA_dml.sql
 
prompt
prompt ============== RUN LOT3_DE_dml.sql -;
prompt
@./dml/obj/LOT3_DE_dml.sql
 
prompt
prompt ============== RUN LOT3_EL_dml.sql -;
prompt
@./dml/obj/LOT3_EL_dml.sql
 
prompt
prompt ============== RUN LOT3_EN_dml.sql -;
prompt
@./dml/obj/LOT3_EN_dml.sql
 
prompt
prompt ============== RUN LOT3_ES_dml.sql -;
prompt
@./dml/obj/LOT3_ES_dml.sql
 
prompt
prompt ============== RUN LOT3_ET_dml.sql -;
prompt
@./dml/obj/LOT3_ET_dml.sql
 
prompt
prompt ============== RUN LOT3_FI_dml.sql -;
prompt
@./dml/obj/LOT3_FI_dml.sql
 
prompt
prompt ============== RUN LOT3_HU_dml.sql -;
prompt
@./dml/obj/LOT3_HU_dml.sql
 
prompt
prompt ============== RUN LOT3_IT_dml.sql -;
prompt
@./dml/obj/LOT3_IT_dml.sql
 
prompt
prompt ============== RUN LOT3_LT_dml.sql -;
prompt
@./dml/obj/LOT3_LT_dml.sql
 
prompt
prompt ============== RUN LOT3_LV_dml.sql -;
prompt
@./dml/obj/LOT3_LV_dml.sql
 
prompt
prompt ============== RUN LOT3_MT_dml.sql -;
prompt
@./dml/obj/LOT3_MT_dml.sql
 
prompt
prompt ============== RUN LOT3_NL_dml.sql -;
prompt
@./dml/obj/LOT3_NL_dml.sql
 
prompt
prompt ============== RUN LOT3_PL_dml.sql -;
prompt
@./dml/obj/LOT3_PL_dml.sql
 
prompt
prompt ============== RUN LOT3_PT_dml.sql -;
prompt
@./dml/obj/LOT3_PT_dml.sql
 
prompt
prompt ============== RUN LOT3_RO_dml.sql -;
prompt
@./dml/obj/LOT3_RO_dml.sql
 
prompt
prompt ============== RUN LOT3_SK_dml.sql -;
prompt
@./dml/obj/LOT3_SK_dml.sql
 
prompt
prompt ============== RUN LOT3_SL_dml.sql -;
prompt
@./dml/obj/LOT3_SL_dml.sql
 
prompt
prompt ============== RUN LOT3_SV_dml.sql -;
prompt
@./dml/obj/LOT3_SV_dml.sql
 
prompt
prompt ============== RUN LOT3-phrases_dml.sql -;
prompt
@./dml/obj/LOT3-phrases_dml.sql
 
prompt
prompt ============== RUN LOT3-populate.sql -;
prompt
@./dml/obj/LOT3-populate.sql
 
show errors;
set term on
 
exit;
Le script LOT3_BG_dml.sql qui pose pb :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
DECLARE
 
VAR_SEQ_THE NUMBER(9,0);
VAR_SEQ_AFF NUMBER(9,0);
VAR_SEQ_NIV NUMBER(9,0);
VAR_SEQ_REC NUMBER(9,0);
 
BEGIN
-- Excel Row N° 1
select UL_ADM.SEQ_THE.nextval into VAR_SEQ_THE from dual;
 
INSERT INTO ula_thesaurus (uls_the, ulcc_the_dom_code, uli_the_id, ulcc_lge_code, uli_the_ordre, uld_the_date_cre, uld_the_date_maj, ulc_the_desc, ulc_the_desc_trans, ulc_the_status ) VALUES (VAR_SEQ_THE, 'PHR', 1, 'BG', 1, sysdate(), sysdate(), 'Selon une jurisprudence constante, le risque de confusion quant à l’origine commerciale des produits ou des services doit être apprécié globalement selon la perception que le public pertinent a des signes et des produits ou services en cause et en tenant compte de tous les facteurs caractérisant le cas d’espèce, notamment de l’interdépendance entre la similitude des signes et celle des produits ou services désignés [voir arrêt du Tribunal du 9 juillet 2003, Laboratorios RTB/OHMI – Giorgio Beverly Hills (GIORGIO BEVERLY HILLS), T-162/01, non encore publié au Recueil, points 29 à 33, et la jurisprudence citée].', UL_F_TRANSLIT('Според същата съдебна практика вероятността от объркване трябва да се преценява цялостно, според възприятието на     - 
съответните потребители за знаците и разглежданите стоки или услуги и като се отчитат всички релевантни в конкретния случай фактори, по-специално за взаимозависимостта между сходството на знаците и това на обозначените стоки или услуги (вж. Решение на Първоинстанционния съд от 9 юли 2003 г. по дело Laboratorios RTB/СХВП — Giorgio Beverly Hills (GIORGIO BEVERLY HILLS), T 162/01, Recueil, стр. II 2821, точки 31—33 и цитираната съдебна практика).'), 'Vide');
INSERT INTO ula_domaine_jur (uls_the, ulcc_dom_code, ulcc_sdm_code) VALUES (VAR_SEQ_THE, 'PROP_INT', 'PROP_INT_T');
 
select UL_ADM.SEQ_AFF.nextval into VAR_SEQ_AFF from dual;
 
INSERT INTO ula_affaires (uls_aff, ulc_aff_num, ulc_aff_jrd,uli_aff_ordre, uli_aff_annee, ulc_aff_doc_type) VALUES (VAR_SEQ_AFF, 'T-0115/03', 'T',115, 3, 'Arrêt');
INSERT INTO ulj_the_aff (uls_the, uls_aff, uli_num_suivi) VALUES (VAR_SEQ_THE, VAR_SEQ_AFF, 200403895);
 
select UL_ADM.SEQ_NIV.nextval into VAR_SEQ_NIV from dual;
 
INSERT INTO ula_niveaux (uls_niv, uls_the, uls_aff, ulc_niv_origine, uli_niv_niveau,uli_niv_parag) VALUES (VAR_SEQ_NIV, VAR_SEQ_THE, VAR_SEQ_AFF, 'MOTIF', 0,29);
 
select UL_ADM.SEQ_REC.nextval into VAR_SEQ_REC from dual;
INSERT INTO ula_recueil (uls_rec, uls_aff, ulc_rec_fasc, uli_aff_rec_annee ) VALUES (VAR_SEQ_REC, VAR_SEQ_AFF, '7', 2004 );
 
select UL_ADM.SEQ_AFF.nextval into VAR_SEQ_AFF from dual;
 
INSERT INTO ula_affaires (uls_aff, ulc_aff_num, ulc_aff_jrd,uli_aff_ordre, uli_aff_annee, ulc_aff_doc_type) VALUES (VAR_SEQ_AFF, 'T-0115/03', 'T',115, 3, 'Arrêt');
INSERT INTO ulj_the_aff (uls_the, uls_aff, uli_num_suivi) VALUES (VAR_SEQ_THE, VAR_SEQ_AFF, 200403895);
 
select UL_ADM.SEQ_NIV.nextval into VAR_SEQ_NIV from dual;
 
INSERT INTO ula_niveaux (uls_niv, uls_the, uls_aff, ulc_niv_origine, uli_niv_niveau,uli_niv_parag) VALUES (VAR_SEQ_NIV, VAR_SEQ_THE, VAR_SEQ_AFF, 'MOTIF', 0,29);
 
select UL_ADM.SEQ_REC.nextval into VAR_SEQ_REC from dual;
INSERT INTO ula_recueil (uls_rec, uls_aff, ulc_rec_fasc, uli_aff_rec_annee ) VALUES (VAR_SEQ_REC, VAR_SEQ_AFF, '0', null );
 
END;

et l'erreur dans le log à l'exécution du fichier de commandes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
...
============== RUN LOT3_BG_dml.sql -
 
ERROR:
ORA-00972: identifier is too long
 
...
Quand on colle le contenu du fichier LOT3_BG_dml.sql dans une feuille de calcul SQL Developper le bloc anonyme s'exécute normalement.

Des idées ? des pistes ?

Merci d'avance