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

SGBD Perl Discussion :

[DBD::Sybase] Problème gestion du BIGINT (ASE 15.0.2)


Sujet :

SGBD Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [DBD::Sybase] Problème gestion du BIGINT (ASE 15.0.2)
    Bonjour,

    J'utilise DBD::Sybase pour effectuer des opérations avec une base de donnée Sybase.

    Je suis passé à la version 15.0.2 de ASE et j'utilise maintenant le type BIGINT.
    Plus particulièrement certains champs existants sont passés du type INT au type BIGINT.

    Concernant les modules perl, j'utilise
    • DBI 1.607
    • DBD::Sybase 1.09


    Malheureusement le code perl actuellement ne fonctionne plus.
    En effet, j'ai des erreurs du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Can't execute the SQL statement [INSERT MA_TABLE values (?,?)][250 0]:
    Server message number=257 severity=16 state=1 line=0 server=SYBSAC2
    procedure=DBD9 text=Implicit conversion from datatype 'VARCHAR' to 'BIGINT' is
    not allowed.  Use the CONVERT function to run this query.
    J'ai la même erreur que je passe directement une valeur ou que j'utilise Math::BigInt.

    La première solution que je vois est d'utiliser un convert.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT MA_TABLE values (?,convert(bigint,?))
    Néanmoins, d'après le changelog du module,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [...]
     
    Release 1.08
     
    	[...]
    	Added handling of UNSIGNED INT and BIGINT (ASE 15 and later).
    Je pensais que le bigint était géré de manière transparent.

    1/ Que signifie alors 'handling of UNSIGNED INT and BIGINT'
    2/ Existe-t-il une méthode plus transparente pour gérer les BIGINT que le convert? (en permettant si possible de faire un code le plus générique possible)

    Par avance, merci pour vos réponses.



    PS: en affichant les types sql DBI, je constate que certains types dont le BIGINT ont des valeurs négatives:
    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
    SQL_GUID=-11                                             
    SQL_WLONGVARCHAR=-10                                     
    SQL_WVARCHAR=-9                                          
    SQL_WCHAR=-8                                             
    SQL_BIGINT=-5                                            
    SQL_BIT=-7                                               
    SQL_TINYINT=-6                                           
    SQL_LONGVARBINARY=-4                                     
    SQL_VARBINARY=-3                                         
    SQL_BINARY=-2                                            
    SQL_LONGVARCHAR=-1                                       
    SQL_UNKNOWN_TYPE=0                                       
    SQL_ALL_TYPES=0
    SQL_CHAR=1
    SQL_NUMERIC=2
    SQL_DECIMAL=3
    SQL_INTEGER=4
    SQL_SMALLINT=5
    SQL_FLOAT=6
    SQL_REAL=7
    SQL_DOUBLE=8
    SQL_DATETIME=9
    SQL_DATE=9
    SQL_INTERVAL=10
    SQL_TIME=10
    SQL_TIMESTAMP=11
    SQL_VARCHAR=12
    SQL_BOOLEAN=16
    SQL_UDT=17
    SQL_UDT_LOCATOR=18
    SQL_ROW=19
    SQL_REF=20
    SQL_BLOB=30
    SQL_BLOB_LOCATOR=31
    SQL_CLOB=40
    SQL_CLOB_LOCATOR=41
    SQL_ARRAY=50
    SQL_ARRAY_LOCATOR=51
    SQL_MULTISET=55
    SQL_MULTISET_LOCATOR=56
    SQL_TYPE_DATE=91
    SQL_TYPE_TIME=92
    SQL_TYPE_TIMESTAMP=93
    SQL_TYPE_TIME_WITH_TIMEZONE=94
    SQL_TYPE_TIMESTAMP_WITH_TIMEZONE=95
    SQL_INTERVAL_YEAR=101
    SQL_INTERVAL_MONTH=102
    SQL_INTERVAL_DAY=103
    SQL_INTERVAL_HOUR=104
    SQL_INTERVAL_MINUTE=105
    SQL_INTERVAL_SECOND=106
    SQL_INTERVAL_YEAR_TO_MONTH=107
    SQL_INTERVAL_DAY_TO_HOUR=108
    SQL_INTERVAL_DAY_TO_MINUTE=109
    SQL_INTERVAL_DAY_TO_SECOND=110
    SQL_INTERVAL_HOUR_TO_MINUTE=111
    SQL_INTERVAL_HOUR_TO_SECOND=112
    SQL_INTERVAL_MINUTE_TO_SECOND=113

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    up!

    Personne n'a été confronté à mon problème?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 7
    Points
    7

Discussions similaires

  1. Install DBD::SYBASE
    Par Sentenza28 dans le forum Modules
    Réponses: 10
    Dernier message: 10/08/2010, 11h14
  2. Réponses: 2
    Dernier message: 07/08/2009, 09h41
  3. probleme pour installer le module DBD::Sybase
    Par black_code dans le forum SGBD
    Réponses: 9
    Dernier message: 25/07/2005, 15h06
  4. [Sybase] Problème de type sous ASE
    Par Hotchotte dans le forum Sybase
    Réponses: 1
    Dernier message: 18/12/2004, 11h04
  5. [Sybase]Problème avec le BCP sous Solaris
    Par sl dans le forum Sybase
    Réponses: 3
    Dernier message: 09/09/2004, 07h56

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