Re[10]: interbase в Linux
От: Hiden  
Дата: 05.12.06 09:03
Оценка:
Здравствуйте, Tonal-, Вы писали:

T>Здравствуйте, Hiden, Вы писали:

H>>Попробывал использовать isc_dsql_execute2, но результат тот же:
H>>message length error (encountered 0, expected 32)
T>Покажи код.
T>Ты точно задал куды выходные параметры покласть?
T>Соощение точно при вызове isc_dsql_execute2 вылетает?

check( isc_dsql_prepare(status_vector, &trans, &stmt, 0, str1, 1, sqlda));
short i0 = 0, i1 = 0;
sqlda->sqlvar[0].sqldata = (char *) &id;
sqlda->sqlvar[0].sqltype = SQL_TEXT;
sqlda->sqlvar[0].sqlind = &i0;

sqlda->sqlvar[1].sqldata = (char *) &name;
sqlda->sqlvar[1].sqltype = SQL_TEXT;
sqlda->sqlvar[1].sqlind = &i1;

check( isc_dsql_execute2(status_vector, &trans, &stmt, 1, sqlda, NULL));

ISC_STATUS fetch_stat;

while ((fetch_stat = isc_dsql_fetch(status_vector, &stmt, 1, sqlda)) == 0)
{

id[9] = '\0';
name[49] = '\0';
printf("\nid: %s", id);
printf("\nname: %s\n", name);
}
....
если в str1 записывать select то все работает и в id и name записываются данные, а если там указать execute то возникает такая ошибка
может действительно все дело в несовпадении версий клиента и сервера
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.