Как указать заголовок к столбцу в oracle и прочитать его с C # до ODP.Net ?

#c# #oracle #odp.net

#c# #Oracle #odp.net

Вопрос:

С помощью ODP.Net пакета мы заполняем результат простого запроса в Dataset by Oracle.ManagedDataAccess.Client.OracleDataAdapter .Я хочу получить немного больше описания для результирующих столбцов. Было бы неплохо, если бы я мог определить заголовок для столбцов в Oracle и получить их в результирующем наборе данных.

Я нашел способ добавить комментарий к столбцу в Oracle :

 COMMENT ON COLUMN my_table.my_columns IS 'MY_CUSTOM_CAPTION'
  

но я не знаю, как мы можем это получить.

С другой стороны, я нашел два варианта ( Caption amp; Extended properties ) в результирующем наборе данных, который, как я предполагаю, является тем, что я ищу, но, похоже, я ошибаюсь: ( :

Кто-нибудь знает способ поместить некоторое описание или альтернативный заголовок к столбцам в Oracle DB и прочитать их в приложении с помощью Odp.Net ?

Ответ №1:

Я бы рекомендовал создать представление из вашей таблицы следующим образом:

 CREATE OR REPLACE VIEW V_my_table AS
SELECT my_column AS "My Caption even with spaces"
FROM my_table;
  

Вы также можете выполнять операции DML, такие как УДАЛЕНИЕ, ОБНОВЛЕНИЕ или ВСТАВКА в такие представления.

Ответ №2:

Я думаю, есть два возможных способа, которые вы можете выбрать.

  1. Прочитайте комментарии к столбцу от Oracle, как вы описали в своем вопросе
  2. Создайте собственную таблицу, в которой вы храните дополнительную информацию

В обоих случаях вам нужно присоединить дополнительную таблицу к вашему запросу. Если вы хотите прочитать комментарии к столбцу, взгляните на Dba_col_comments. В этой таблице хранятся все columncomments, которые вы определяете в своей базе данных Oracledatabase. Таким образом, вы можете прочитать их с помощью sql. Но будьте осторожны, чтобы не заполнить комментарии к столбцу дополнительной информацией, описывающей столбец. Вы, администратор базы данных, и другие будут предполагать, что комментарий к столбцу описывает, что представляет собой столбец или что в нем хранится. Поэтому не записывайте в него никакой другой информации.

Второй подход заключается в том, что вы создаете собственную таблицу, где вы храните дополнительную информацию для своих столбцов. Вам просто нужны три столбца для таблицы, column и information. К этой таблице вы можете присоединиться.

Комментарии:

1. Способ, о котором вы упомянули, абсолютно будет работать идеально. но мы не можем изменить наши запросы или процедуры, чтобы добавить результат таблицы описания! По крайней мере, сейчас это невозможно (подумайте о тысячах случаев)! Я предпочитаю использовать некоторые встроенные средства, чтобы оправдать наши ожидания как можно скорее.

2. Будет сложно что-то изменить, если вы ничего не можете изменить.