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

как да изпълните множество заявки за oracle c#

Въпреки че използвате имена за вашите параметри, вашият драйвер ги третира позиционно. Можете да разберете, защото (почти) съвпада с :1 с името p_cr1 - '1' не е валидно име. Не се оплаква, тъй като съвпада позиционно - но това означава, че се опитва да използва P_para за :1 и тъй като типът е грешен, това обяснява грешката, която виждате.

Може да има начин да промените поведението на драйвера, но засега можете просто да размените реда, в който ги свързвате - така че свързванията да се случват в същия ред (позиция), в който променливите се появяват в заявката. И така:

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. Активиране на TLS в Oracle Apps R12.2

  2. sql подреждане по с вътрешна клауза за избор и групиране по събиране

  3. Дефиниране на jta източник на данни извън контейнера

  4. Как да създадете обект oracle.sql.ARRAY?

  5. Предимство на оператора в регулярни изрази