Oracle
 sql >> Baza danych >  >> RDS >> Oracle

jak wykonać wiele zapytań Oracle c#

Chociaż używasz nazw dla swoich parametrów, twój kierowca traktuje je pozycyjnie. Możesz powiedzieć, ponieważ (prawie) pasuje do :1 o nazwie p_cr1 - „1” nie jest prawidłową nazwą. Nie narzeka, ponieważ pasuje pozycyjnie - ale to oznacza, że ​​próbuje użyć P_para dla :1 , a ponieważ rodzaj tego jest nieprawidłowy, wyjaśnia to wyświetlany błąd.

Równie dobrze może istnieć sposób na zmianę zachowania sterownika, ale na razie możesz po prostu zamienić kolejność ich wiązania - więc wiązania występują w tej samej kolejności (pozycji), w jakiej zmienne pojawiają się w zapytaniu. A więc:

cmd.Parameters.Add("p_cr1", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
cmd.Parameters.Add(new OracleParameter(":P_para", OracleDbType.Int64)).Value = Convert.ToInt64(Textbox.Text);
cmd.Parameters.Add("p_cr2", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do Oracle Mobile Cloud Service

  2. stan SQL [99999]; kod błędu [17004]; Nieprawidłowy typ kolumny:1111 ze sprężyną SimpleJdbcCall

  3. Oświadczenie Oracle Update z wewnętrznym złączem

  4. wybierz tylko i tylko konkretny rekord w wyroczni

  5. Dzielenie ciągu oddzielonego przecinkami w przechowywanej procedurze PL/SQL