Bonjour,

Suite à un switch dataguard, j'ai un script d'import utilisant sql*loader qui ne fonctionne plus avec l'erreur ORA-01006 La variable attache n'existe pas

si je fais le test sur mon serveur de test cela fonctionne mais plus sur le serveur de production.

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
 
Table d'import 
create table OCAPISIGDCI.dvp3_loader  ( id number , nom varchar2(20) , salaire number ) ;
 
Sequence pour le champ ID 
 
CREATE SEQUENCE OCAPISIGDCI.dvp_seq 
START WITH 1
INCREMENT BY 1;
 
fichier control 
 
LOAD DATA INFILE 'data.csv'
replace
INTO TABLE dvp3_loader
FIELDS TERMINATED BY ';' trailing nullcols
 (
NOM,
SALAIRE,
ID "dvp_seq.nextval"
)
 
fichier data
 
Jaouad;100
orafrance;200
leoanderson;300
bouyao;400
 
code lancement sql*loader 
 
sqlldr user/mdp@tns control=control.txt log=log.txt bad=bad.txt discard=disard.txt errors=0 direct=n
Si j'utilise le direct=y cela s'importe mais sans la séquence ce qui est normal pour l'utilisation du direct=n

Je pense que cela viendrait d'un privilège manquant du nouveau serveur de production.

Le serveur lancant sql*loader et le serveur de base de données sont dans le même lieu réseau et n'ont pas de limitation réseau.

Si vous avez des idées.

Merci