Home DADE

Refreshing Data Dictionary at runtime ....

edited October 2003 in DADE
Hello,

What is the correct procedure for refreshing a Data Dictionary? When I
create additional tables in a DB, I would like to automatically refresh
the DataDictionary object without recompile the application. Is this
possible? or is there a way to open the Data Dictionary Builder at runtime?

Thanks in advance
Luis Ximénez

Comments

  • edited October 2003

    1. To run the DataDictionary Builder at run-time, please see the article
    below. The other alternative would be to programmatically update the data
    dictionary tables with appropriate entries.

    2. You must also clear the meta data cache as shown here:

    uses
    daMetaDataManager;

    gMetaDataManager.Clear;


    -------------------------------------------------------
    Tech Tip: Using the DataDictionary Builder at Run-time
    -------------------------------------------------------

    Is it possible to run the DataDictionary Builder at run-time?

    Example:


    uses
    daDataDictionaryBuilder;


    procedure TForm1.Button1Click(Sender: TObject);
    var
    lForm: TdaDataDictionaryBuilderForm;

    begin
    lForm := TdaDataDictionaryBuilderForm.Create(Application);
    lForm.DataDictionary := ppDataDictionary1;

    if lForm.ValidSettings then
    lForm.ShowModal
    else
    ShowMessage(lForm.ErrorMessage);

    lForm.Free;
    end;


    --
    Tech Support mailto:support@digital-metaphors.com
    Digital Metaphors http://www.digital-metaphors.com

    --
    Nard Moseley
    Digital Metaphors
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2003
    Nard,

    I am building dictionary entries using my own code. I have implemented
    a language column in my dictionary tables, and the dictionary pipeline
    is connected to a view that filters the table by the language code, so
    different users will see different values.

    I also allow end users to create their own dicrionary entries. However,
    when new values are entered, they do not appear to be available to the
    user unles they leave the application, and then come back in.

    I thought that your hint in #2 below might do the trick
    (gMetaDataManager.Clear), but it did not
    seem to help. Any ideas on how I can refresh the data dictionary
    without having to recycle the application?

    Thanks in advance

    Bob McClintock



  • edited December 2003

    In addition to clearing the meta data, perhaps try closing/re-opening the
    DataPipelines that are connected to the DataDictionary related datasets.


    --
    Nard Moseley
    Digital Metaphors
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.