小编Muh*_*rul的帖子

C# 数据表到 Oracle 存储过程

我需要做的是将 C# DataTable 传递给 Oracle 存储过程。

这是我所做的:

甲骨文方面:

  1. 创建了一个类型:

    create or replace TYPE CUSTOM_TYPE AS OBJECT 
    ( 
        attribute1 VARCHAR(10),
        attribute2 VARCHAR(10)
    );
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建了一个表

    create or replace TYPE CUSTOM_TYPE_ARRAY AS TABLE OF CUSTOM_TYPE;
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建了存储过程

    create or replace PROCEDURE SP_TEST
    (
        P_TABLE_IN IN CUSTOM_TYPE_ARRAY,
        P_RESULT_OUT OUT SYS_REFCURSOR 
    ) AS 
    --P_TABLE_IN CUSTOM_TYPE_ARRAY;
    BEGIN
        OPEN P_RESULT_OUT FOR
    
        SELECT attribute1, attribute2
        FROM TABLE(P_TABLE_IN);
    END SP_TEST;
    
    Run Code Online (Sandbox Code Playgroud)

C#方面:

void Run()
{
        OracleConnection oraConn = new OracleConnection();
        oraConn.ConnectionString = ConfigurationManager.ConnectionStrings["NafasV2ConnectionString"].ToString();
        DataSet dataset = new DataSet();
        DataTable Dt = …
Run Code Online (Sandbox Code Playgroud)

c# oracle stored-procedures

5
推荐指数
1
解决办法
9276
查看次数

标签 统计

c# ×1

oracle ×1

stored-procedures ×1