Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread BLOB Vs MEMO
Sat, Jan 5 2008 7:01 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

As part of my migration to ElevateDB I'm altering some columns from MEMO to BLOB (so they end up as BLOB not CLOB). Other tables behave and are converted correctly but not Templates. Why the %*^$ not?


Changer.SQL.Add('ALTER TABLE IF EXISTS "Templates"');
Changer.SQL.Add('ADD COLUMN IF NOT EXISTS "_ID" AUTOINC AT 1,');
...
...
Changer.SQL.Add('REDEFINE COLUMN IF EXISTS _LinkedFiles "_Attachments" BLOB,');
Changer.SQL.Add('ADD COLUMN IF NOT EXISTS _InLine BLOB,');
Changer.SQL.Add('ADD PRIMARY KEY (_ID)');
Changer.SQL.Add('LAST AUTOINC 0');
Changer.SQL.Add('NOBACKUP;');

No matter what I do I end up with MEMO (which obviously migrates as CLOB)

There's a further problem which is an ElevateDB one, but linked I think, when I try and convert the tables stored in memo fields from DBISAM from ElevateDB.  I've written code to convert them ....

Translate('ELN', '_Graphics', InLinePics, edbPics);
Translate('ELN', '_Recipients', Recipients, edbRecipients);
Translate('Emails', '_Graphics', InLinePics, edbPics);
Translate('EMails', '_Recipients', Recipients, edbRecipients);
Translate('Templates', '_Attachments', Attachments, edbAtts);
Translate('Templates', '_InLine', InLinePics, edbPics);

The first 4 work well, the fifth fails when I try and open Interim (an EDBTable) after changing the table name to templates with the error "field _recipients does not exist". This is quite true Smileybut why am I getting the error? I have no persistent fields defined for Interim. I close it at the end of Translate.

Someone please help.

Roy Lambert
Sat, Jan 5 2008 12:28 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

As is often the case, it was me!

Roy Lambert
Image