【发布时间】:2017-02-18 07:25:01
【问题描述】:
我想先用asp.net MVC代码中的参数执行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。
我试过这样的 Asp.Net MVC 代码:
var sql = "DECLARE cnt DECIMAL;BEGIN SP_GETUSERHOSPS(@p_city,cnt);END;";
var total = context.Database.ExecuteSqlCommand(sql, new OdbcParameter("@p_city","07"));
但是没有结果。并且像这样返回错误:
无法将“System.Data.Odbc.OdbcParameter”转换为“Oracle.ManagedDataAccess.Client.OracleParameter”
我该如何解决这个问题?
谢谢
【问题讨论】:
标签: c# asp.net-mvc oracle entity-framework plsql