Передача строкового значения в битовый тип данных работает должным образом в Win XP, но не в Win Server 2003 - PullRequest
1 голос
/ 08 декабря 2010

Я создал функцию pgsql:

Имя функции : fn_add_xyz(integer,bit,boolean,text).

Когда мы вызываем вышеуказанную функцию

Функция вызова : select * from fn_add_xyz(1,'1','true','hello');

через Java-приложение в окне XP. Работает нормально.

Но когда мы вызываем вышеуказанную функцию через то же Java-приложение в Win server 2003. Выдает ошибку:

org.postgresql.util.PSQLException: ERROR: function fn_add_xyz(integer,character varying,character varying,text)does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts.

Эта проблема возникает в клиентской среде. Мы проверили это в нашей среде, она работает правильно.

1 Ответ

1 голос
/ 08 декабря 2010

Функция определяется как fn_add_xyz (целое число, бит, логическое значение, текст), в то время как вы пытаетесь вызвать fn_add_xyz (целое число, текст, текст, текст).

Попробуйте поставить явные приведения, соответствующие сигнатуре вашей функции, и / или удалить кавычки вокруг логического значения:

SELECT * FROM fn_add_xyz(1, '1'::bit, true, 'hello');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...