2016-12-12 24 views
1

スキーマ内のテーブルの作成を追跡するためのテーブルを作成しましたが、トリガがコンパイルされると「ソケット"私はデータベースへの接続を失う。次のようにトリガーを使用しているときに "ソケットから読み取るデータがこれ以上ありません"

マイ監査テーブルには、次のとおりです。

CREATE TABLE TABLE_AUDIT(
DATE_CREATED DATE, 
USERNAME VARCHAR2(30), 
TABLE_NAME VARCHAR2(30)) 

そして、私のトリガー:

create or replace TRIGGER tableCreationTrigger 
AFTER CREATE 
    ON SCHEMA  
DECLARE 
    date_created TABLE_AUDIT.DATE_CREATED%type; 
    username TABLE_AUDIT.USERNAME%type; 
    table_name TABLE_AUDIT.TABLE_NAME%type; 
BEGIN 
date_created := sysdate; 
SELECT USER 
into username 
from dual; 
:New.table_Name := table_name; 

INSERT INTO TABLE_AUDIT (DATE_CREATED, USERNAME, TABLE_NAME) 
Values(DATE_CREATED, USERNAME, TABLE_NAME); 

EXCEPTION 
    WHEN others THEN 
    DBMS_OUTPUT.PUT_LINE('Error on insert into table_audit'); 
    RAISE; 
END; 
/

答えて

0

DBを再起動して再試行してみてください。

"ソケットからのデータがこれ以上ありません"というのは、DBがクエリに応答できないためです。

関連する問題