Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread ALTER TABLE MyTable ALTER COLUMN MyColumn AS CLOB COLLATE "ANSI_CI" ;
Sat, Mar 26 2016 5:55 PMPermanent Link

Andrew Hill

I am trying to work with both Unicode and ANSI in the same table, please show me how I can alter MyColumn for ANSI data ?

I get the following error: "(ElevateDB Error #401 The collation ANSI does not exist in the configuration EDBConfig)"
Sun, Mar 27 2016 3:08 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Andrew


>I am trying to work with both Unicode and ANSI in the same table, please show me how I can alter MyColumn for ANSI data ?

I think the answer is - you can't. Unicode is a multi-byte character set and ANSI is a single byte character set. Trying to mix them would cause tremendous problems.

Can you explain more about what you're trying to do and why?

Roy Lambert
Sun, Mar 27 2016 3:18 AMPermanent Link

Andrew Hill

Roy Lambert wrote:

Andrew


>I am trying to work with both Unicode and ANSI in the same table, please show me how I can alter MyColumn for ANSI data ?

I think the answer is - you can't. Unicode is a multi-byte character set and ANSI is a single byte character set. Trying to mix them would cause tremendous problems.

Can you explain more about what you're trying to do and why?

Roy Lambert

I want to store RTF data in CLOB
Sun, Mar 27 2016 7:19 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Andrew


>I want to store RTF data in CLOB

I don't use unicode so for all I know it may make a difference, but I can't see why it should. What's the problem if you leave the column as unicode?

Roy Lambert
Sun, Mar 27 2016 4:21 PMPermanent Link

Andrew Hill

Roy Lambert wrote:

Andrew


>I want to store RTF data in CLOB

I don't use unicode so for all I know it may make a difference, but I can't see why it should. What's the problem if you leave the column as unicode?

Roy Lambert

"W O R D" instead of "WORD" (RTF is ANSI)
Mon, Mar 28 2016 4:48 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Andrew


I had to stare at that a while before the penny dropped Smiley

I can't try much here since I still use D2006 and that's not unicode. It may depend on how you're loading / retrieving the rtf code and how you're passing it across to whatever you're passing it to.

Two thoughts have occurred to me:

1. use a BLOB column rather than  CLOB one - you can stuff what you want in there
2. encode the data as you load it into the column (UUencode maybe) and decode when you extract it.

It might help someone else give you a better answer if you post the code you're using

Roy Lambert
Mon, Mar 28 2016 11:01 AMPermanent Link

Matthew Jones

Andrew Hill wrote:

> "W O R D" instead of "WORD" (RTF is ANSI)

That, to me, implies that the text is being re-interpreted or converted
incorrectly. You should be able to convert ANSI text to Unicode and
back without loss. The extra spacing just implies that it is not
converted back. Something as simple as (ANSIString)TheCLOBText should
convert it for you.

That said, maybe storing as a BLOB might be best as Roy says.

--

Matthew Jones
Mon, Mar 28 2016 12:58 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Andrew,

<< I want to store RTF data in CLOB >>

Please post the code that you're using to update the CLOB field, along with the source RTF data.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Mar 28 2016 5:57 PMPermanent Link

Andrew Hill

Tim Young [Elevate Software] wrote:

Andrew,

<< I want to store RTF data in CLOB >>

Please post the code that you're using to update the CLOB field, along with the source RTF data.

Tim Young
Elevate Software
www.elevatesoft.com


The CLOB field is loaded and saved via a DevExpress Bound RichEdit Editor within a DevExpress Grid
Tue, Mar 29 2016 4:45 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Andrew,

<< The CLOB field is loaded and saved via a DevExpress Bound RichEdit Editor within a DevExpress Grid >>

Then you'll need to check with them about how they're updating the value using either BLOB streams or a TBlobField instance.  If they're just writing the Ansi character strings directly to a BLOB stream without conversion, then that's not going to work with a Unicode database and you'll end up with what you're seeing.  This is because BLOB stream manipulation is byte-oriented, not character-oriented.

Tim Young
Elevate Software
www.elevatesoft.com
Image