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

Oracle Discussion :

Retourner un resultset java de SQLServer a Oracle


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 10
    Points
    10
    Par défaut Retourner un resultset java de SQLServer a Oracle
    Salut,

    j'explique le probleme :

    J'ai une base Oracle dans laquelle je cree des procedures stokées java. Celles ci se connectent a SQL Server et recupere dans infos dans un resultset java. Comment faire pour retourner ce resultset a Oracle comme c'est possible quand le resultset java provient d'Oracle (avec setCreateStatementAsRefCursor)?

    Merci

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ben oui. Tu parcours ton resultSet avec du PL/SQL comme s'il s'agissait d'un curseur non ? Où est le problème ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    tu pourrais me montrer un exemple parce que moi ca pose probleme. Si je retourne simplement le resultset comme ca, j'ai l'erreur "Inconsistent datatypes"

  4. #4
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ahah... bon mais ça me semble plus un problème SQLServer / Oracle que java ça.

    En gros :

    - Tu arrives à lire un bloc d'enregistrement dans Oracle avec Java, à en faire un ResultSet puis à le relire avec Oracle comme si c'était un Ref Cursor.

    - Tu arrives à lire un bloc d'enregistrement dans SQLServer avec Java, à en faire un ResultSet mais si tu essayes de le relire avec Oracle tu as une erreur "Inconsistent Data Types".

    Peux-tu essayer de faire une requête toute simple qui ne ramène qu'un caractère de SQLServer et d'essayer de la lire sous Oracle ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    oui c'est exactement ca, t'as tout compris

    Oui j'ai deja testé ca et ca marche sans probleme :

    je fais un procedure stockée java qui se connecte a sql server, je fais un select dans une table qui contient 1 seule row qui est du varchar, je retourne ca a oracle (sous forme de java.lang.String), et oracle le lis sans probleme.

    Le truc c'est qu'il faut que j'arrive a renvoyer plusieurs resultats en meme temps => resultset...

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bon et si tu testes avec plusieurs lignes mais d'un format simple comme 1 seul caractère, ça te fait toujours la même chose ??
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    j'ai edité mon precedant post trop tard...

    la row je la mets dans un String java que je retourne a Oracle, ca ca fonctionne

    mais bon avec une base de données on aime bien avoir plusieurs resultats en meme temps (et qui plus est pas du meme type) donc pour ca resultset et non plus des string

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ah ok. Et donc un resultset d'une seule ligne tu n'y arrives pas non plus ?

    Bon et ... puisque tu arrives à créer un ResultSet sur des données Oracle et à le lire dans Oracle, et que tu arrives à récupérer des données SQLServer dans un ResultSet, est-ce que tu ne pourrais pas :
    - Lire les données SQLServer avec Java dans un ResultSet
    - Créer en Java un ResultSet vide
    - Insérer dans ce ResultSet les données lues dans SQLServer
    - Retourner ce ResultSet à Oracle
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    je viens de tester et je pense que c'est impossible

    1) pour pouvoir updaté le resultset je dois lui donner une proprieté particuliere, des que je fais ca je ne recupere plus les valeurs de la table mais des trucs incomprehensibles qui a mon avis sont les rowid

    2) je fais quand meme un update du resultset, et la dans oracle je recois l'erreur "OUT OF SEQUENCE"

    je pense qu'on ne peut pas toucher au resultset sinon il ne peut plus etre lu dans oracle...

    c'est la merde

  10. #10
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Comment ça updater ?? Je pensais que tu allais chercher des données dans SQLServer avec Java et que tu voulais les lire dans un programme PL/SQL sous oracle ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    je ne peux pas creer le resultset n'importe comment pour pouvoir le retourner a Oracle, il faut faire la commande setCreateStatementAsRefCursor

    un resultset vide ca n'ira pas

    j'ai creé un resultset depuis oracle, creé un resultset depuis sql server, essayé de mettre les valeurs du resultset sqlserver dans le resultset oracle mais ca marche pas

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2008, 07h56
  2. retourner un ResultSet dans un fonction
    Par delma dans le forum JDBC
    Réponses: 4
    Dernier message: 16/11/2006, 11h00
  3. Migration de données de SQLSERVER vers ORACLE 10g
    Par malik1982 dans le forum Oracle
    Réponses: 1
    Dernier message: 04/07/2006, 13h09
  4. Activer une servlet Java à partir d'outils Oracle
    Par valauga dans le forum Oracle
    Réponses: 1
    Dernier message: 09/03/2006, 16h32
  5. [SQLServer 2005][Oracle]Quels sont les differences de coût ?
    Par Débéa dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 15/12/2005, 07h54

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