Subject Re: [IBO] Newbie - TIB_ColumnMemo, blobs and character sets
Author Helen Borrie
At 03:51 PM 3/04/2003 +0000, you wrote:
>I've been have problems trying to get transliteration to happen when
>reading or writing to a blob. I now understand that it is different
>to a VARCHAR which does it automatically in that you have to tell
>the database that you want to use filters when the low-level part of
>the system calls isc_create_blob2() or isc_open_blob2().

I'm not clear what you are talking about here. In the case of both VARCHAR
and BLOB SUB_TYPE 1 it is the programmer's responsibility to ensure that
the input text has the right character set. This involves
a) defining the right charset in your DDL
b) providing client support for that charset by connecting using that charset
c) providing the means for the client enter only characters recognised by
that charset.

>I was using IBExpress - and I can see from the code that this does
>not provide any way to set the required parameters. It is actually
>very difficult for a component writer to do this because you may
>need to set the parameters to match a reponse you have not yet
>received from opening the blob. However, the glowing reports of IBO
>suggested that if it was possible, this was where to look.

What do you think you are looking for? The IB_Connection and its
descendants have the Charset property...

>So I turned to IBO and converted my app last night. I was hoping
>that there would be some way that I could tell the system that a
>column was a text blob by using TIB_ColumnMemo, and that (probably
>by magic) it would all work. However, I can't see a method to warn
>the system that a column is a text blob in advance, nor can I see
>any way to tell a TIB_ColumnMemo about required filter operations.

A column that is defined in the database as BLOB SUB_TYPE 1 will appear in
your prepared dataset's Fields[] array as a TIB_ColumnMemo. There are
various methods that you can use to assign text objects to this column
type. I'm not clear what you mean by "required filter operations". Are
you talking about a custom blob filter that you have added to your database?

>I think I may have been looking for the impossible. Can anyone
>confirm that?

No. You can do whatever you need to do. You could start by describing
just what it is that you are trying to do...