天天看點

VS2010MVC連接配接oracle 建立實體資料模型ITPUB論壇

最近學習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,

33          NVL(a.PROCEDURE$,o.name),

34          DECODE(a.PROCEDURE$,NULL,NULL, o.name),

35          o.obj#,

36          DECODE(a.overload#,0,NULL,a.overload#),

37          a.argument,

38          a.position#,

39          a.SEQUENCE#,

40          a.LEVEL#,

41          DECODE(a.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$,

80          deflength,

81          DECODE(in_out,NULL,'IN',1,'OUT',2,'IN/OUT','Undefined'),

82          LENGTH,

83          PRECISION#,

84          DECODE(a.TYPE#, 2, scale, 1, NULL, 96, NULL, scale),

85          radix,

86          DECODE(a.charsetform, 1, 'CHAR_CS',          

87                                2, 'NCHAR_CS',

88                                3, NLS_CHARSET_NAME(a.charsetid),

89                                4, 'ARG:'||a.charsetid),

90          a.type_owner,

91          a.type_name,

92          a.type_subname,

93          a.type_linkname,

94          a.pls_type,

95          DECODE(a.TYPE#, 1, a.scale, 96, a.scale, 0),

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),

99          a.PROCEDURE#

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論壇

這個論壇真尼瑪的流氓啊 老紙複制語句都加上好多東西 還得一點點的删掉 我草~

轉載于:https://blog.51cto.com/2510495/829555