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



我已经为此挣扎了一段时间,我遵循以下指南:

到目前为止,我已经采取了以下步骤:

  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中:
<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教程那样显示光标。

如有任何帮助,我们将不胜感激。

感谢

编辑:

所以我今天又试了一次,这次它的表现不一样了。现在,当我单击导入函数对话框中的"获取列信息"按钮时,对话框将关闭,不会发生任何其他事情。

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

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

最新更新