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

Sybase Discussion :

[JDBC] Sybase Open Server + JDBC


Sujet :

Sybase

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 156
    Par défaut [JDBC] Sybase Open Server + JDBC
    J'ai une application Java qui appelle des procédures stockées sur un serveur de base de données Sybase. Ces procédures stockées appellaient à leur tours des RPC via Sybase Open Server qui transforme ces appels RPC en appels de procédures stockées.

    Cette application doit évoluer et doit appeller directement Sybase Open Server sans passer par l'intermédiaire de la base de données Sybase. Le problème c'est que l'open serveur à l'air beaucoup plus stricte que la bdd sur les formats. J'ai un champ au format monney. Avant je passait un Float à la bdd ca ne lui posait pas de problème. Mais Open Server refuse le Float. Il me renvoie une erreur du genre "Got bad datatype for parameter 7". J'ai donc regardé la correspondance Sybase <--> JDBC et j'ai vu que le type correspondant à "money" était "decimal". J'ai donc essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CallableStatement cs = conn.prepareCall("{call set_coupon(?,?,?,?,?,?,?,?,?,?,?,?,?)}");
    cs.setObject(7, "0.00", Types.DECIMAL);
    J'ai cependant toujours la même erreur. Est ce que quelqu'un sait quel type de dois utiliser, sachant que le type "money" n'existe pas en JDBC?

    Merci d'avance.

    PS : J'ai posté aussi ce message sur le forum JDBC car je ne savais pas lequel des deux était le plus approprié.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    Est-ce que vous avez accès aux sources de l'OpenServer?

    D'après vos commentaires, et mes (quelques peu nébuleux) souvenirs de programmation Open Server je pense que celui-ci est codé de façon très rigide, et valide strictement que le paramètre passé en input est bien un type MONEY (CS_MONEY_TYPE, en C). Ce qui est un peu dommage, parce que la conversion entre les divers type numériques est assez simple.

    Par contre mes connaissances en Java (et JDBC) sont assez limitées. Une rapide recherche google semble confirmer votre expérience que jConnect utilise le type DECIMAL pour MONEY...

    Michael

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 156
    Par défaut
    Malheureusement non je n'ai pas accès aux sources de l'open server. Donc je suis plutot en train d'essayer de passer un type utilisateur "money" au driver JDBC.
    Merci pour votre réponse en tout cas, celà conforme mes impressions sur Open Server.

Discussions similaires

  1. [Sybase] Sybase Open Server + JDBC
    Par neuromencien dans le forum JDBC
    Réponses: 7
    Dernier message: 10/08/2006, 16h48
  2. Réponses: 5
    Dernier message: 14/06/2006, 12h21
  3. Connexion SQL Server JDBC
    Par boblepongecotegratan dans le forum JDBC
    Réponses: 3
    Dernier message: 21/04/2006, 21h58
  4. [JDBC] connexion SQL Server impossible
    Par blaiseac dans le forum JDBC
    Réponses: 10
    Dernier message: 27/10/2005, 14h58
  5. Pilote JDBC pour SQL Server
    Par david71 dans le forum JDBC
    Réponses: 6
    Dernier message: 21/01/2005, 14h39

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