Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да получите стойността dbms.output, върната от PL-SQL блок в C#

Използвам следващия метод:

    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;
    }

Извикайте го няколко пъти, за да получите многонизова стойност, защото има проблеми с извикването на dbms_output.get_lines с 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. Oracle PL/SQL процедурата работи по-бавно от SQL

  2. Запитване за колона на оракул

  3. c# select query към базата данни на Oracle хвърля Custom type mapping за ... не е посочено или е невалидно

  4. Изберете произволна извадка от резултати от резултат от заявка

  5. Как правилно да настроите променливата ORACLE_HOME на Ubuntu 9.x?