2010-12-08 22 views
1

J'ai créé pgSQL:valeur de chaîne passe au travail de type de données bit correctement dans win xp mais pas dans le serveur win 2003

Nom Fonction: fn_add_xyz (entier, bit, booléen, texte).

Lorsque nous appelons ci-dessus fonction

Fonction d'appel: select * from fn_add_xyz (1, '1', 'true', 'bonjour');

via l'application Java dans la fenêtre XP .it fonctionne correctement.

Mais quand nous appelons ci-dessus fonctionnent par une même application Java dans Windows Server 2003. Il donne l'erreur: org.postgresql.util.PSQLException: ERREUR: Fonction fn_add_xyz (nombre entier, le caractère variable, le caractère variable, texte) n'existe pas Indice: Aucune fonction ne correspond aux types de nom et d'argument donnés. Vous devrez peut-être ajouter des conversions de types explicites.

S'il vous plaît aidez-moi. Son urgence, ce problème se produisent dans l'environnement du client.nous l'avons testé dans notre environnement. ça fonctionne correctement.

Merci à l'avance.

Répondre

1

La fonction est définie comme fn_add_xyz (entier, bit, booléen, texte), pendant que vous essayez d'appeler fn_add_xyz (entier, texte, texte, texte).

Essayez de mettre des moulages explicites qui correspondent à la signature de votre fonction et/ou enlever les guillemets autour de la valeur booléenne:

SELECT * FROM fn_add_xyz(1, '1'::bit, true, 'hello');