【发布时间】:2016-07-07 14:04:35
【问题描述】:
我已经对我的问题进行了一些研究,但我认为我正在苦苦挣扎,因为我缺乏使用 Oracle 的经验(完全来自 SQL Server 背景)。
我正在尝试从 .NET 应用程序调用 Oracle 存储过程并将数据表返回到我的应用程序。我收到“ORA-00900:无效的 SQL 语句”错误。
伪代码隐藏:
OracleConnection conn = new OracleConnection("...");
OracleCommand cmd = new OracleCommand("sproc_name", conn);
cmd.Connection = conn;
cmd.Parameters.Add("Year", OracleDbType.Int16).Value = vYear
cmd.Parameters.Add("Name", OracleDbType.Varchar2).Value = vName;
cmd.Parameters.Add("ID", OracleDbType.Varchar2).Value = vID;
conn.Open();
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
伪存储过程:
CREATE OR REPLACE
PROCEDURE sproc_name
(
Year IN NUMBER
, Name IN VARCHAR2
, ID IN VARCHAR2
)
AS
BEGIN
SELECT *
FROM TABLE
WHERE TABLE.Year = Year AND
TABLE.Name = Name AND
TABLE.ID = ID
END sproc_name;
我已经阅读了参考游标,但我试图重写我的程序但没有运气。我该怎么做?
【问题讨论】:
标签: c# .net oracle stored-procedures