私はasp.net MVCコードのパラメータを持つoracle pl/sqlストアドプロシージャを最初に実行したいと思います。ここでAsp.Net MVC PatrameterでOracle PL/SQLのストアドプロシージャを実行
は私のストアドプロシージャです:
CREATE OR REPLACE
PROCEDURE sp_getuserhosps(p_city IN VARCHAR2,cnt OUT DECIMAL)
AS
BEGIN
SELECT COUNT(1) INTO cnt FROM "PersonStatus" p1
INNER JOIN HOSPITALS p2 ON P1."HospitalCode"=p2.KURUM_KODU
WHERE P2.IL_KODU=p_city AND p1."Statu"=1;
END;
これは、このようなDBMS OUTPUT CNT=135555
を返します。
var sql = "DECLARE cnt DECIMAL;BEGIN SP_GETUSERHOSPS(@p_city,cnt);END;";
var total = context.Database.ExecuteSqlCommand(sql, new OdbcParameter("@p_city","07"));
をしかしthis.Andは、このようなエラーとして戻ってから、結果がない:
キャストできません「がSystem.Data.Odbc .OdbcParameter 'to' Oracle.ManagedDataAccess.Client.OracleParameter '
これをどのように解決できますか?
おかげエラーとして
[OK]をThanks.Butをこの時点で私はカウント(CNT)が必要です。 – kodcu
@kodcuその後、出力値を得る方法を最初の質問ではなく、私の答えを編集しました。 – CodeNotFound
非常に良い答えです。しかし、これはカウントを返すことができませんでした。それは-1を返します。ストアドプロシージャを変更する必要がありますか? – kodcu