Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách lấy giá trị dbms.output được trả về bởi một khối PL-SQL trong C #

Tôi đang sử dụng phương pháp tiếp theo:

    private string GetDbmsOutputLine()
    {
        OracleCommand command = new OracleCommand
        {
            Connection = <connection>,
            CommandText = "begin dbms_output.get_line(:line, :status); end;",
            CommandType = CommandType.Text
        };

        OracleParameter lineParameter = new OracleParameter("line",  
            OracleType.VarChar);
        lineParameter.Size = 32000;
        lineParameter.Direction = ParameterDirection.Output;
        command.Parameters.Add(lineParameter);

        OracleParameter statusParameter = new OracleParameter("status",  
            OracleType.Int32);
        statusParameter.Direction = ParameterDirection.Output;
        command.Parameters.Add(statusParameter);

        command.ExecuteNonQuery();

        if (command.Parameters["line"].Value is DBNull)
            return null;

        string line = command.Parameters["line"].Value as string;

        return line;
    }

Gọi nó nhiều lần để nhận giá trị đa chuỗi vì có vấn đề với việc gọi dbms_output.get_lines với System.Data.OracleClient.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhập nội dung lớn vào cơ sở dữ liệu oracle

  2. Chọn từ bảng bằng cách chỉ biết ngày mà không có thời gian (ORACLE)

  3. Chèn một dấu ngoặc kép trong JDBC cho Truy vấn SQL không hoạt động

  4. Lược đồ APPLICSYSPUB

  5. Tìm hiểu ngày thuộc quý nào trong Oracle