调用ORACLE存储过程的问题?(在线等,马上结帖)
我建立了一个简单的过程:
CREATE OR REPLACE PROCEDURE SP_NEW_ONE
AS
BEGIN
insert into one values('first','second');
END;
我用下列语句执行:
Public Overloads Function SetData(ByVal strspName As String, ByVal parameters As IDataParameter(), _
ByRef intRowsAffected As Integer) As Integer
Dim intResult As Integer = 0
Dim cmd As OleDbCommand = BuildIntCommand(strspName, parameters)
Try
conn.Open()
intRowsAffected = cmd.ExecuteNonQuery()
intResult = CInt(cmd.Parameters("ReturnValue").Value)
conn.Close()
Catch exp As OleDbException
AppException.LogEvent("Oracle sql OleDbException! " + exp.Message)
Catch exp As Exception
AppException.LogEvent("Oracle server connection error! " + exp.Message)
End Try
Return intResult
End Function
Dim cmd As OleDbCommand = BuildIntCommand(strspName, parameters)
可以返回一个cmd对象,连接也可以打开。但运行到:intRowsAffected = cmd.ExecuteNonQuery()时出错。
提示:ORA-06550: 第 1 行, 第 25 列:
PLS-00222: 在此范围中不存在名为 'SP_NEW_ONE' 的函数
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
我的后台数据库是oracle8.1.4。这是什么原因?