最近学习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论坛这个论坛真尼玛的流氓啊 老纸复制语句都加上好多东西 还得一点点的删掉 我草~