Help - D4, Oracle 8 - Non-blob column in table required

Hi all,

Help! I always avoid cross-posting, but I'm making a small exception in
this case in the hopes that someone from TeamB will recognize this
issue. It isn't a direct cross-post however, but I am re-posting some
information I posted in the Multi-Tier Databases section. I've added
additional configuration information and other useful stuff. Here is the
problem:

I'm fighting with D4 C/S, Oracle 8 and the Oracle 8 SQL Links driver at
the moment, and I'm encountering this with blob fields. Here is a code
fragment (many things resolved for clarity):

Note: userData.Perms is a TStringList.

--- Begin Code Fragment ---
with theQuery do
begin
  DatabaseName := FDatabaseName;
  RequestLive := True;
  SQL.Add( 'SELECT WIREDNAME, WIREDID, LONGNAME, ACCESS_LVL, ISGROUP,
PERMS' );
  SQL.Add( 'FROM USRPERM WHERE WIREDID = 100' );
  try
    Open;
    Edit;
    Fields[0].AsString  := userData.WiredName;
    Fields[1].AsInteger := userData.WiredID;
    Fields[2].AsString  := userData.LongName;
    Fields[3].AsInteger := userData.Access;
    { Handle differences between Paradox and RDBMS Field Definition }
    if Fields[4] is TBooleanField then
      Fields[4].AsBoolean := userData.IsGroup
    else if Fields[4] is TIntegerField then
      Fields[4].AsInteger := ord(userData.IsGroup);
    (Fields[5] as TBlobField).Assign( userData.Perms ); // Exception
here
    Post;
    Close;
  except
    on e:Exception do
    begin
      AppMessage(e.Message, mtError, [mbOK], 0);
    end;
  end;
end;

--- End Code Fragment ---

Now, the above code works fine for:

Oracle 7.2/7.3
MSSQL 6.5
DB2 5.0
Paradox

But, under Oracle 8, I keep getting "Non-blob column in table required
to perform operation". When I trace into the D4 source code, the
exception is being thrown by the call to DbiOpenBlob in
TBlobStream.Create. I can't seem to work around this. It's killing my
ability to deliver the product on time.

Can someone help? TeamB? Inprise? Anyone?

--- IDAPI Information ---

In my IDAPI Configuration for this database has SQLPASSTHRU MODE set to
SHARED NOAUTOCOMMIT as the SQL Links documentation requires. BLOBSIZE is
set to 2048.

--- SQL Table Definition (Oracle 8) ---

CREATE TABLE USRPERM (
        WIREDNAME                     VARCHAR2(40)      not null,
        WIREDID                       NUMBER(38)        not null,
        LONGNAME                      VARCHAR2(60)      null,
        ACCESS_LVL                    NUMBER(5)         null,
        ISGROUP                       NUMBER(1)         null,
        PERMS                         BLOB              null,
        CONSTRAINT PK_USRPERM Primary Key (WIREDNAME,WIREDID)
)

--- SQL Table Definition (Oracle 7) ---

CREATE TABLE USRPERM (
        WIREDNAME                     VARCHAR2(40)      not null,
        WIREDID                       NUMBER(38)        not null,
        LONGNAME                      VARCHAR2(60)      null,
        ACCESS_LVL                    NUMBER(5)         null,
        ISGROUP                       NUMBER(1)         null,
        PERMS                         LONG RAW          null,
        CONSTRAINT PK_USRPERM Primary Key (WIREDNAME,WIREDID)
)

--- Other Information ---

I first tried to use the Oracle 7 table definition (with LONG RAW
instead of BLOB) in Oracle 8. Updates to the blob field resulted in
ORA-32255 (unknown Message). Of course, looking in the Oracle 8
documentation, ORA-32255 isn't defined/documented anywhere, and I
couldn't resolve the problem. So, I went to BLOB, and now run into this
problem.

Thanks to anyone who can help.

--
Marc Batchelor