Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вызов PLSQL функии на C# / 4 сообщений из 4, страница 1 из 1
02.05.2010, 17:52
    #36609112
DrunkCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов PLSQL функии на C#
На сервере Oracle есть функция:
Код: plaintext
1.
2.
3.
4.
5.
create or replace function TestFun return integer is
  Result integer;
begin
  Result := 1;
  return(Result);
end TestFun;
Пытаюсь вызвать ее на ASP.Net странице с помощью следующего кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OracleClient;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        OracleConnection conn = new OracleConnection("..xxxx..");
        conn.Open();
        OracleCommand cmd = conn.CreateCommand();
        cmd.CommandText = "TestFun";
        cmd.CommandType = CommandType.StoredProcedure;
        decimal res = (decimal)cmd.ExecuteScalar();
        Label1.Text = res.ToString();
    }
}
В ответ вылетает такая ошибка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Server Error in '/' Application.
ORA-06550: line 1, column 7:
PLS-00221: 'TESTFUN' is not a procedure or is undefined
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OracleClient.OracleException: ORA-06550: line 1, column 7:
PLS-00221: 'TESTFUN' is not a procedure or is undefined
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Может кто подскажет в чем я ошибаюсь?
...
Рейтинг: 0 / 0
02.05.2010, 18:13
    #36609124
DrunkCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов PLSQL функии на C#
Заменил вызов функции на код ниже вроде все исполняется без ошибок только результат выполнения ExecuteScalar == null
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    protected void Page_Load(object sender, EventArgs e)
    {

        OracleConnection conn = new OracleConnection("xxx");
        conn.Open();
        OracleCommand cmd = conn.CreateCommand();
        cmd.CommandText = "declare pResult integer; begin pResult := TestFun; end;";
        cmd.CommandType = CommandType.Text;
        object res = cmd.ExecuteScalar();
        Label1.Text = res.ToString();
    }
...
Рейтинг: 0 / 0
02.05.2010, 19:17
    #36609152
DrunkCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов PLSQL функии на C#
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
17.02.2012, 12:19
    #37666892
Neftedollar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов PLSQL функии на C#
Полезная ссылка, спасибо. =)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вызов PLSQL функии на C# / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]