РТЫ 00942: таблица или представление не существуют: Как я нахожу, о какой таблице или представлении это говорит

Возможно, проблема в том, что вы пытаетесь перегрузить не оператор "< <", а оператор "< < <>"

Из файла .h замените [ 113]

 friend std::ostream &operator<< <>(std::ostream &os, messageTemplate<A> &aTemplate);

с

  friend std::ostream &operator<< (std::ostream &os, messageTemplate<A> &aTemplate);
8
задан OMG Ponies 25 March 2011 в 23:20
поделиться

3 ответа

Смотрите в таблицу DBA_AUDIT_EXISTS, когда аудит будет включен для Oracle. Я полагаю, что Oracle может обеспечить очень подробный аудит, который можно просто включить и прочь когда Вам нравится через команды DB, хотя я не помню то, что они первое, что пришло на ум.

См.: http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm

для некоторой идеи (который я просто быстро погуглил для),

3
ответ дан 5 December 2019 в 15:28
поделиться

Это - то, что я делаю, извинения тому, из кого бы ни это первоначально прибыло, я знаю, что взял его с некоторого веб-сайта, но не могу помнить где прямо сейчас.

В подготовке производства у меня есть это

create table caught_errors (
  dt        date,               
  username  varchar2( 30), -- value from ora_login_user
  msg       varchar2(2000),
  stmt      varchar2(2000)
);


create or replace trigger catch_errors
   after servererror on database
declare
   sql_text ora_name_list_t;
   msg_     varchar2(2000) := null;
   stmt_    varchar2(2000) := null;
begin

  for depth in 1 .. ora_server_error_depth loop
    msg_ := msg_ || ora_server_error_msg(depth);
  end loop;

  for i in 1 .. ora_sql_txt(sql_text) loop
     stmt_ := stmt_ || sql_text(i);
  end loop;

  insert into 
    caught_errors (dt     , username      ,msg ,stmt )
           values (sysdate, ora_login_user,msg_,stmt_);
end;
/

Любое время servererror брошено, ее пойманный и зарегистрированный к таблице, я могу затем проверить, что таблица, чтобы найти незаконные запросы и возместить их по мере необходимости для наблюдения недостающей таблицы (при выполнении запроса в sqlplus она скажет Вам таблицу),

Отметьте, да, существуют проблемы с этим, например, что, если caught_errors отбрасывается, или повышает саму ошибку, Вы могли бы получить рекурсивный цикл, следовательно почему это только существует в подготовке производства.

7
ответ дан 5 December 2019 в 15:28
поделиться

Я не думаю, что здесь существует чудодейственное средство. Это может быть недостающая таблица или имя таблицы с орфографической ошибкой в запросе. Это может быть проблема полномочия. Вы не можете действительно сказать, не выполняя запрос

Я предлагаю, чтобы Вы шли вперед и оснастили свой код таким способом, которым можно включить и выключить его. Выполните его, извлеките запрос и отправьте его к Вашему DBA для разрешения.

0
ответ дан 5 December 2019 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: