IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Script Sql ok avec oracle -> crash avec jdbc


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 22
    Points : 21
    Points
    21
    Par défaut Script Sql ok avec oracle -> crash avec jdbc
    salut tout le monde,

    j'ai un léger soucis d'exécutions de script dans mon code Java en utilisant JDBC:

    1. j'ai un script SQL qui crée une table
    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
    DECLARE
     
    nb number(10) := 0;
     
    BEGIN
     
    SELECT count(*)
    INTO nb
    FROM user_tables
    WHERE table_name = 'MA_TABLE_QUI_DEFONCE';
     
    IF nb = 1 THEN
    EXECUTE IMMEDIATE 'DROP TABLE MA_TABLE_QUI_DEFONCE';
    END IF;
     
    END;
    .
    RUN;
     
    CREATE TABLE MA_TABLE_QUI_DEFONCE
    (
    name varchar2(250) NOT NULL,
    type number(5) NOT NULL
    ) storage ( initial 128k next 128k pctincrease 0 maxextents unlimited );
    2. j'essaye de l'exécuter dans mon code Java via cette methode
    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
     
    public static boolean executeDBScripts(String aSQLScriptFilePath, Statement stmt)
    			throws IOException, SQLException {
    		boolean isScriptExecuted = false;
    		try {
    			BufferedReader in = new BufferedReader(new FileReader(aSQLScriptFilePath));
    			String str;
    			StringBuffer sb = new StringBuffer();
    			while ((str = in.readLine()) != null) {
    				sb.append(str + "\n ");
    			}
    			in.close();
    			stmt.executeUpdate(sb.toString());
    			isScriptExecuted = true;
    		} catch (Exception e) {
    			System.err.println("Failed to Execute" + aSQLScriptFilePath + ". The error is" + e.getMessage());
    		}
    		return isScriptExecuted;
    	}
    3. ça crash à l'exécution alors qu'avec Oracle en faisant F5 ça marche très bien:
    Failed to ExecutecreateTest.sql. The error isORA-06550: line 17, column 2:
    PLS-00103: Encountered the symbol "."


    4. vous pouvez m'aider ?

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Je me trompe peut être mais il me semble que l'on ne peut pas exécuter de script via jdbc !

    Tu aurais donc dans ce cas 2 possibilités :
    - faire une procédure stocké
    - faire le traitement en java avec un select puis selon le résultat un drop et enfin le create
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    effectivement en gros ils parlent pas la même langue les 2 .... c'était naïf de ma part. Je vais décomposer et faire le drop si nécessaire.

    Merci en tout cas !!

    PS: j'adore la citation des les shadocks !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    c'est passé avec une procédure stockée et un callableStatement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/02/2011, 19h45
  2. compatibilté entre oracle client 10 avec Oracle 9 server?
    Par ouadie99 dans le forum Installation
    Réponses: 2
    Dernier message: 20/05/2009, 20h01
  3. Réponses: 2
    Dernier message: 10/05/2007, 12h55
  4. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57
  5. Réponses: 14
    Dernier message: 01/09/2003, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo