最近学习MVC,想连接oracle数据库,在建立实体数据模型的时候出错~忘了给错误截图了~ 提示  SYS.all_ARGUMENT$的错误 经过查询发现是系统的一个视图没有了,于是经过以下两个步骤完成了视图的建立:

建立表 SYS.ARGUMENT$

登录sys as sysdba之后执行以下命令

 create table SYS.ARGUMENT$
  2  (
  3    OBJ#          NUMBER not null,
  4    PROCEDURE$    VARCHAR2(30),
  5   OVERLOAD#     NUMBER not null,
  6    PROCEDURE#    NUMBER,
  7    POSITION#     NUMBER not null,
  8    SEQUENCE#     NUMBER not null,
  9    LEVEL#        NUMBER not null,
10   ARGUMENT      VARCHAR2(30),
11    TYPE#         NUMBER not null,
12    CHARSETID     NUMBER,
13    CHARSETFORM   NUMBER,
14    DEFAULT#      NUMBER,
15    IN_OUT        NUMBER,
16    PROPERTIES    NUMBER,
17    LENGTH        NUMBER,
18    PRECISION#    NUMBER,
19   SCALE         NUMBER,
20    RADIX         NUMBER,
21    DEFLENGTH     NUMBER,
22    DEFAULT$      LONG,
23   TYPE_OWNER    VARCHAR2(30),
24    TYPE_NAME     VARCHAR2(30),
25    TYPE_SUBNAME  VARCHAR2(30),
26   TYPE_LINKNAME VARCHAR2(128),
27   PLS_TYPE      VARCHAR2(30)
28  )
29  tablespace SYSTEM
30  
30  pctfree 10
31    pctused 40
32    initrans 1
33    maxtrans 255
34  storage
35  (
36  
36  initial 16K
37      minextents 1
38      maxextents unlimited
39  )

 

然后建立视图

 CREATE OR REPLACE VIEW SYS.ALL_ARGUMENTS
  2  (
  3      OWNER,
  4      OBJECT_NAME,
  5      PACKAGE_NAME,
  6      OBJECT_ID,
  7      OVERLOAD,
  8      ARGUMENT_NAME,
  9      POSITION,
10      SEQUENCE,
11      DATA_LEVEL,
12      DATA_TYPE,
13      DEFAULT_VALUE,
14      DEFAULT_LENGTH,
15      IN_OUT,
16      DATA_LENGTH,
17      DATA_PRECISION,
18      DATA_SCALE,
19      RADIX,
20      CHARACTER_SET_NAME,
21      TYPE_OWNER,
22      TYPE_NAME,
23      TYPE_SUBNAME,
24      TYPE_LINK,
25      PLS_TYPE,
26      CHAR_LENGTH,
27      CHAR_USED,
28      SUBPROGRAM_ID
29  )
30  AS
31  SELECT
32          u.name, /* OWNER */
33          NVL(a.PROCEDURE$,o.name), /* OBJECT_NAME */
34          DECODE(a.PROCEDURE$,NULL,NULL, o.name), /* PACKAGE_NAME */
35          o.obj#, /* OBJECT_ID */
36          DECODE(a.overload#,0,NULL,a.overload#), /* OVERLOAD */
37          a.argument, /* ARGUMENT_NAME */
38          a.position#, /* POSITION */
39          a.SEQUENCE#, /* SEQUENCE */
40          a.LEVEL#, /* DATA_LEVEL */
41          DECODE(a.TYPE#,  /* DATA_TYPE */
42          0, NULL,
43          1, DECODE(a.charsetform, 2, 'NVARCHAR2', 'VARCHAR2'),
44          2, DECODE(a.scale, -127, 'FLOAT', 'NUMBER'),
45          3, 'NATIVE INTEGER',
46          8, 'LONG',
47          9, DECODE(a.charsetform, 2, 'NCHAR VARYING', 'VARCHAR'),
48          11, 'ROWID',
49          12, 'DATE',
50          23, 'RAW',
51          24, 'LONG RAW',
52          29, 'BINARY_INTEGER',
53          69, 'ROWID',
54          96, DECODE(a.charsetform, 2, 'NCHAR', 'CHAR'),
55          100, 'BINARY_FLOAT',
56          101, 'BINARY_DOUBLE',
57          102, 'REF CURSOR',
58          104, 'UROWID',
59          105, 'MLSLABEL',
60          106, 'MLSLABEL',
61          110, 'REF',
62          111, 'REF',
63          112, DECODE(a.charsetform, 2, 'NCLOB', 'CLOB'),
64          113, 'BLOB', 114, 'BFILE', 115, 'CFILE',
65          121, 'OBJECT',
66          122, 'TABLE',
67          123, 'VARRAY',
68          178, 'TIME',
69          179, 'TIME WITH TIME ZONE',
70          180, 'TIMESTAMP',
71          181, 'TIMESTAMP WITH TIME ZONE',
72          231, 'TIMESTAMP WITH LOCAL TIME ZONE',
73          182, 'INTERVAL YEAR TO MONTH',
74          183, 'INTERVAL DAY TO SECOND',
75          250, 'PL/SQL RECORD',
76          251, 'PL/SQL TABLE',
77          252, 'PL/SQL BOOLEAN',
78          'UNDEFINED'),
79          DEFAULT$, /* DEFAULT_VALUE */
80          deflength, /* DEFAULT_LENGTH */
81          DECODE(in_out,NULL,'IN',1,'OUT',2,'IN/OUT','Undefined'), /* IN_OUT*/
82          LENGTH, /* DATA_LENGTH */
83          PRECISION#, /* DATA_PRECISION */
84          DECODE(a.TYPE#, 2, scale, 1, NULL, 96, NULL, scale), /* DATA_SCALE*/
85          radix, /* RADIX */
86          DECODE(a.charsetform, 1, 'CHAR_CS',           /* CHARACTER_SET_NAME*/
87                                2, 'NCHAR_CS',
88                                3, NLS_CHARSET_NAME(a.charsetid),
89                                4, 'ARG:'||a.charsetid),
90          a.type_owner, /* TYPE_OWNER */
91          a.type_name, /* TYPE_NAME */
92          a.type_subname, /* TYPE_SUBNAME */
93          a.type_linkname, /* TYPE_LINK */
94          a.pls_type, /* PLS_TYPE */
95          DECODE(a.TYPE#, 1, a.scale, 96, a.scale, 0), /* CHAR_LENGTH */
96          DECODE(a.TYPE#,
97                  1, DECODE(bitand(a.properties, 128), 128, 'C', 'B'),
98                 96, DECODE(bitand(a.properties, 128), 128, 'C', 'B'), 0), /*CHAR_USED */
99          a.PROCEDURE# /* SUBPROGRAM ID */
100          FROM obj$ o,argument$ a,USER$ u
101          WHERE o.obj# = a.obj#
102          AND o.owner# = u.USER#
103          AND (owner# = USERENV('SCHEMAID')
104          OR EXISTS
105            (SELECT NULL FROM v$enabledprivs WHERE priv_number IN (-144,-141))
106          OR o.obj# IN (SELECT obj# FROM sys.objauth$ WHERE Grantee# IN
107            (SELECT kzsrorol FROM x$kzsro) AND privilege# = 12))
108          order by o.obj#,a.position#

OK成功~ 希望对迷途中的人们有所帮助~

参考网址:

http://qc.embarcadero.com/wc/qcmain.aspx?d=26409

http://www.itpub.net/forum.php?mod=viewthread&action=printable&tid=1327468

http://space.itpub.net/3090/viewspace-670782

http://hi.baidu.com/mybaidu/blog/item/777c8acbd2ae7ef653664f43.html

 

最后补充一句

ITPUB论坛

这个论坛真尼玛的流氓啊 老纸复制语句都加上好多东西 还得一点点的删掉 我草~