Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Cách gọi Package trong ORACLE từ C#

  1. #1
    Ngày gia nhập
    05 2011
    Nơi ở
    Hà Nội
    Bài viết
    26

    Angry Cách gọi Package trong ORACLE từ C#

    Chào các ban..!
    Mình có 1 vấn đề thắc mắc không hiểu nên nhờ các bạn giải thích cho mình với?
    Mình xây dựng một package được viết trong oracle thành công. Bây giờ mình muốn gọi package vừa viết đó trong C# thì mình không biết làm thế nào.
    .
    Các bác pro nào đã từng làm với việc gọi package từ oracle trong C# thì giúp mình với.
    Bác nào có ví dụ hay code mẫu giúp mình với.

    Cảm ơn các bác rất nhiều.

  2. #2
    Ngày gia nhập
    05 2010
    Bài viết
    24

    Gọi package như gọi StoredProcedure thôi bạn.
    Code:
                OracleCommand command = new OracleCommand("PKG_CONTRACT.SP_GET_AGENT", cnn);
                command.CommandType = CommandType.StoredProcedure;
    
                OracleParameter o_cursor_list = new OracleParameter("o_cursor", OracleDbType.RefCursor);
                o_cursor_list.Direction = ParameterDirection.Output;
                command.Parameters.Add(o_cursor_list);

  3. #3
    Ngày gia nhập
    05 2011
    Nơi ở
    Hà Nội
    Bài viết
    26

    Cảm ơn bạn đã trả lời.
    Mình có một package đơn giản như sau(mình chạy trong oracle thành công):
    Code:
    PACKAGE BODY demo
    IS
        procedure create_pb(ten_pb NVARCHAR2, mota_pb NVARCHAR2)is
            begin
                insert into TBLPHONGBAN(NAMEPB,DESPB) values (ten_pb, mota_pb);
            end;
        procedure remove_pb(id_pb NUMBER)is
            begin
                delete from TBLPHONGBAN
                where IDPB = id_pb;
            end;
        procedure update_pb(id_pb NUMBER, ten_pb NVARCHAR2, mota_pb NVARCHAR2) is
            begin
                update TBLPHONGBAN set NAMEPB = ten_pb, DESPB = mota_pb
                where IDPB = id_pb;
            end;
    END;
    Code mình gọi bên C# như sau:
    Code:
    con = new OracleConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
                System.Data.OracleClient.OracleCommand cmd = new System.Data.OracleClient.OracleCommand();
    
                cmd.Connection = con;
                cmd.CommandType = CommandType.StoredProcedure;
    
                cmd.CommandText = "DEMO.create_pb";
                System.Data.OracleClient.OracleParameter OraParam1 = new System.Data.OracleClient.OracleParameter();
                System.Data.OracleClient.OracleParameter OraParam2 = new System.Data.OracleClient.OracleParameter();
    
                OraParam1.ParameterName = "pbTen";
                OraParam1.Value = txt_pbTen.Text;
                cmd.Parameters.Add(OraParam1);
    
                OraParam2.ParameterName = "pbMoTa";
                OraParam2.Value = txt_pbMoTa.Text;
                cmd.Parameters.Add(OraParam2);
    
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
    nhưng khi chạy đến dòng cmd.ExecuteNonQuery(); nó nhảy ra lỗi sau


    Mong các bác pro oracle giúp em với.

    Em cảm ơn mọi người.

  4. #4
    Ngày gia nhập
    05 2010
    Bài viết
    24

    Bạn thử sửa lại code như sau nhé!

    con = new OracleConnection(ConfigurationManager.ConnectionSt rings["DefaultConnection"].ToString());


    OracleConnection cnn = new OracleConnection(con);
    OracleCommand command = new OracleCommand("DEMO.create_pb", cnn);
    command.CommandType = CommandType.StoredProcedure;

    OracleParameter p_pbTen = new OracleParameter("p_Ten", txt_pbTen.Text);
    p_pbTen.Direction = ParameterDirection.Input;
    command.Parameters.Add(p_pbTen);

    OracleParameter p_pbMoTa = new OracleParameter("p_MoTa", txt_pbMoTa.Text);
    p_pbMoTa.Direction = ParameterDirection.Input;
    command.Parameters.Add(p_pbMoTa);

    cnn.Open();
    command.ExecuteNonQuery();
    cnn.Close();

  5. #5
    Ngày gia nhập
    05 2011
    Nơi ở
    Hà Nội
    Bài viết
    26

    Em làm như thanhbmt và Em đã gọi được procedure trong package rồi ạ. Em cảm ơn mọi người đã trả lời ạ.
    Nhân đây các bác giúp em cái này với ạ.
    Các bản ghi của em lưu vào trong Oracle bị lỗi font tiếng việt, bây giờ phải làm cách nào để xử lý việc lỗi font tiếng việt bây giờ ạ.

  6. #6
    Ngày gia nhập
    10 2009
    Bài viết
    7

    Mặc định Cách gọi Package trong ORACLE từ C#

    các bác cho e hỏi nếu paramater kiểu output thì phải gán giá trị cho nó thế nào ạ

Các đề tài tương tự

  1. Kết nối DB Oracle Server không cần cài Oracle Client
    Gửi bởi ducvu153 trong diễn đàn Thắc mắc Oracle
    Trả lời: 3
    Bài viết cuối: 04-02-2015, 09:15 AM
  2. Hàm thống kê trong cơ sở dữ liệu Oracle 10g???
    Gửi bởi kachiusa236 trong diễn đàn Thắc mắc Oracle
    Trả lời: 2
    Bài viết cuối: 16-06-2012, 08:09 PM
  3. Lớp Ticker nằm trong package nào?
    Gửi bởi 13thang08 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 4
    Bài viết cuối: 11-04-2012, 12:04 AM
  4. Lỗi Package Load Failure trong Visual Studio 2008
    Gửi bởi aydada trong diễn đàn Công cụ, ebooks VC++
    Trả lời: 0
    Bài viết cuối: 01-03-2011, 10:41 PM
  5. ~ Hướng dẫn cài đặt package để lập trình C/C++ trong Fedora 8
    Gửi bởi ✓Xcross➤☨ trong diễn đàn Thắc mắc chung
    Trả lời: 10
    Bài viết cuối: 14-01-2009, 02:00 PM

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn