0

我已经为此苦苦挣扎了一段时间,我正在遵循本指南

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

  1. 创建新的控制台项目
  2. 添加新的实体模型
  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:
<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教程那样显示光标。

任何帮助,将不胜感激。

谢谢

编辑:

所以我今天又试了一次,这次的表现有所不同。现在,当我单击导入函数对话框中的“获取列信息”按钮时,该对话框将关闭,没有其他任何反应。

4

1 回答 1

0

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

我仍然不向任何人推荐这种方法,仅仅导入一个函数就需要做太多的工作。

于 2012-10-15T15:37:57.703 回答