我对ODP.Net和REF_CURSORS的app.config配置有什么问题?

时间:2012-10-09 18:49:30

标签: .net oracle entity-framework odp.net sys-refcursor

我一直在努力奋斗,我跟着this guide

这是我到目前为止采取的步骤:

  1. 创建新的控制台项目
  2. 添加新的EntityModel
  3. 将“测试”存储过程导入实体模型,sp如下所示:

    CREATE OR REPLACE PROCEDURE SCHEMA.TEST(P_SALIDA OUT NUMBER,
                                P_CURSOR1 OUT sys_refcursor,
                                P_CURSOR2 OUT sys_refcursor) IS
    BEGIN
       P_SALIDA := 15;
       OPEN P_CURSOR1 FOR
       SELECT 125.72 "DECIMAL", 150 "INTEGER", 'JUST PASSING BY' "TEXT" FROM DUAL;
    
       OPEN P_CURSOR2 FOR
       SELECT 'JUST SOME TEXT' "TEXT" FROM DUAL;
    
    END TEST;
    /
    
  4. 将此添加到app.config:
  5. <add name="SCHEMA.TEST.RefCursor.P_CURSOR1" value="implicitRefCursor bindinfo='mode=Output'" />  
    <add name="SCHEMA.TEST.RefCursorMetaData.P_CURSOR1.Column.0" value="implicitRefCursor metadata='ColumnName=DECIMAL;NATIVEDATATYPE=Number;ProviderType=Decimal'" />  
    <add name="SCHEMA.TEST.RefCursorMetaData.P_CURSOR1.Column.1" value="implicitRefCursor metadata='ColumnName=INTEGER;NATIVEDATATYPE=Number;ProviderType=Int32'" />  
    <add name="SCHEMA.TEST.RefCursorMetaData.P_CURSOR1.Column.2" value="implicitRefCursor metadata='ColumnName=TEXT;NATIVEDATATYPE=Varchar2;ProviderType=Varchar2'" />  
    
    <add name="SCHEMA.TEST.RefCursor.P_CURSOR2" value="implicitRefCursor bindinfo='mode=Output'" />
    <add name="SCHEMA.TEST.RefCursorMetaData.P_CURSOR2.Column.0" value="implicitRefCursor metadata='ColumnName=TEXT;NATIVEDATATYPE=Varchar2;ProviderType=Varchar2'" />
    

    然后我尝试从之前创建的实体模型中导入函数,但是当我在选择复杂类型后单击获取列信息时没有任何反应,它不会像 obe 教程那样显示光标。 / p>

    任何帮助都将不胜感激。

    由于

    编辑:

    所以今天我再次尝试,这次表现不同。现在当我单击导入功能对话框中的获取列信息按钮时,对话框就会关闭,没有其他任何事情发生。

1 个答案:

答案 0 :(得分:0)

所以,这可能听起来很尴尬,但实际上它是Visual Studio的问题,我关闭了IDE并再次打开它,它开始工作。

我仍然不向任何人推荐这种方法,只是为了导入一个函数,它的工作量太大了。