У меня проблема с выходным параметром хранимой процедуры, когда она содержит более 4000 символов. Ответ кажется усеченным драйвером JDBC? Как я могу получить полный результат?Выходной параметр из хранимой процедуры SQL Server усечен с 4000 символами
Сохраненная процедура отвечает полным ответом (> 4000 символов), но я не могу открыть ее с Java. Я пробовал как jTDS, так и драйвер JDBC от Microsoft 6.0. Вот мой код:
CallableStatement pstmt = con.prepareCall("{call sp_horus_get_consultorios_stv(?)}");
pstmt.registerOutParameter(1, -1);
pstmt.setString(1, "");
pstmt.execute();
String sp_horus_get_consultorios_stv = pstmt.getString(1);
Это работает с хранимыми процедурами в sybase.
Вы не предоставили нам достаточно информации. Тем не менее, магическое число 4000 заставляет меня думать, что у вас есть varchar, у которого максимальное количество символов 4000. –
Это мой код: CallableStatement pstmt = con.prepareCall ("{call sp_horus_get_consultorios_stv (?)}"); \t \t \t \t pstmt.registerOutParameter (1, -1); pstmt.setString (1, ""); pstmt.execute(); Строка sp_horus_get_consultorios_stv = pstmt.getString (1); Это работает с хранимыми процедурами в sybase. Ответ завершен –
да, это похоже на VARCHAR, для более того он должен быть CLOB (или BLOB), который обрабатывает по-разному – Vadim