--- uppsrc.6693/Oracle/Oci8.cpp 2014-02-05 12:45:29.776498044 +0100 +++ uppsrc.current/Oracle/Oci8.cpp 2014-01-31 11:57:44.596203371 +0100 @@ -818,6 +818,23 @@ } const Item& c = column[i]; if(c.type == SQLT_BLOB || c.type == SQLT_CLOB) { + if (sizeof(int) < sizeof(uintptr_t)){ + int64 handle; + GetColumn(i, handle); + if(!IsNull(handle)) { + if(c.type == SQLT_CLOB && session->utf8_session) { + OracleClob clob(*session, handle); + s = FromUnicode(clob.Read()); + } + else { + OracleBlob blob(*session, handle); + s = LoadStream(blob); + } + } + else + s = Null; + return; + } int handle; GetColumn(i, handle); if(!IsNull(handle)) { @@ -851,6 +868,24 @@ } const Item& c = column[i]; if(c.type == SQLT_BLOB || c.type == SQLT_CLOB) { + if (sizeof(int) < sizeof(uintptr_t)){ + int64 handle; + GetColumn(i, handle); + if(!IsNull(handle)) { + if(session->utf8_session && c.type == SQLT_CLOB) { + OracleClob clob(*session, handle); + ws = clob.Read(); + } + else { + OracleBlob blob(*session, handle); + String s = LoadStream(blob); + ws = s.ToWString(); + } + } + else + ws = Null; + return; + } int handle; GetColumn(i, handle); if(!IsNull(handle)) {