powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Длинное значение ХП
5 сообщений из 5, страница 1 из 1
Длинное значение ХП
    #36181015
Rust()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю вызов ХП
Код: plaintext
1.
2.
3.
4.
5.
String sql = "call DB2ADMIN.LOAD_TYPE_PROCESS( ?, ?, ?, ?, ?, ? )";
PreparedStatement psLOAD_TYPE_PROCESS = connection.prepareCall(sql);

... //set vars
ResultSet rset = preparedStatement.executeQuery();
Один из параметров ХП имеет тип CLOB, делаю такой сеттер:
Код: plaintext
1.
2.
ps.setCharacterStream(i +  1 , new CharacterStream(
				new StringReader(clob.getStr())), size);
Размер такого CLOBA 1.5 мб, поле в таблице 10мб, параметр в ХП 10 мб, при выполнении executeQuery() говорит что слишком длинное значение. В чем причина?
...
Рейтинг: 0 / 0
Длинное значение ХП
    #36183102
BuryCommoner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rust(), Какое сообщение об ошибке выдается? Уверены, что именно в данном параметре слишком длинное значение?

---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
Длинное значение ХП
    #36183128
Rust()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выдается закодированное сообщение (видимо от DB2)
Код: plaintext
1.
2.
3.
[ 07 . 09 . 09   17 : 23 : 07 : 750  AMST] 0000001f SystemErr     R бышјъюь фышээюх чэрїхэшх "<?xml version=" 1 . 0 "?> 
 
<process-definition name="Чря№юёФШЫ".
то что в теге - это первые строки содержимого CLOB. Перекодировка содержимого и говорит что слишком длинное значение.
...
Рейтинг: 0 / 0
Длинное значение ХП
    #36183182
BuryCommoner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите код, скртытый под ... //set vars - установка всех параметров и заголовок хранимой процедуры.


---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
Длинное значение ХП
    #36183742
Rust()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
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.
private static void setVariables(final PreparedStatement ps,
			final Object[] variables) throws SQLException {
		int variablesLength = variables.length;
		Object variable;
		for (int i =  0 ; i < variablesLength; i++) {
			variable = variables[i];

			if (variable instanceof String) {
				String var = (String) variable;
				ps.setString(i +  1 , (String) variable);
			} else if (variable instanceof Integer) {
				int value = ((Integer) variable).intValue();
				ps.setInt(i +  1 , value);
			} else if (variable instanceof Date) {
				Date value = (Date) variable;
				ps.setDate(i +  1 , value);
			} else if (variable instanceof Double) {
				double value = ((Double) variable).doubleValue();
				ps.setDouble(i +  1 , value);
			} else if (variable instanceof Long) {
				long value = ((Long) variable).longValue();
				ps.setLong(i +  1 , value);
			} else if (variable instanceof MyClob) {	
				MyClob clob = (MyClob) variable;
				ps.setCharacterStream(i +  1 , new CharacterStream(
						new StringReader(clob.getStr())), clob.getSize());

			} else {
				ps.setObject(i +  1 , variable);
			}
		}
	}
Код: plaintext
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.
public class MyClob {
    String str;


    public MyClob(String str) {
        this.str = str;
    }

    public int getSize() {
        return str.length();
    }


    public String getStr() {
        return str;
    }
    
    public char[] getChar() {
    	
    	char[] ch = new char[getStr().length()];
		StringReader stringReader = new StringReader(getStr());
		int chr =  0 ;
		int ii =  0 ;
		try {
			while ((chr = stringReader.read()) != - 1 ) {
				ch[ii] = (char) chr;
				ii++;
			}
		} catch (IOException e) {
		}

    	return ch;
    }
}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Длинное значение ХП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]