Tôi đang cố gắng lấy siêu dữ liệu thủ tục được lưu trữ (tên thủ tục, kiểu tham số, tên tham số, v.v) cho một quy trình được khai báo trong gói Oracle. ADO.NET API - DbConnection.GetSchema gọi. Tôi đang sử dụng trình điều khiển ODP.Lấy siêu dữ liệu thủ tục lưu trữ cho một thủ tục trong gói Oracle bằng cách sử dụng ADO.NET
Tôi thấy rằng Gói được liệt kê trong bộ sưu tập siêu dữ liệu 'Gói' và 'PackageBodies'. Tham số thủ tục xuất hiện trong các bộ sưu tập 'Arguments' và 'ProcedureParameters'. Tôi không thấy cách để truy cập thông tin quy trình thông qua siêu dữ liệu gói. Ngay cả khi các thủ tục không có bất kỳ tham số có một hàng trong bộ sưu tập 'ProcedureParameters' cho thủ tục này.
Câu hỏi của tôi: Để có được siêu dữ liệu thủ tục, tôi có phải truy vấn bộ sưu tập 'ProcedureParameters' và tìm kiếm một mục có tên gói được yêu cầu không? Sau đó tôi có thể xây dựng siêu dữ liệu thủ tục dựa trên thông tin tham số. Có cách nào ngắn hơn hoặc nhanh hơn để có được cùng một thông tin không?
Cảm ơn vì điều đó. Tôi đã sửa đổi các truy vấn một chút để có được danh sách các sps. Không có cột 'OBJECT_TYPE' trong SYS.DBA_PROCEDURES. Tôi đang sử dụng ORACLE 10.2.0.1.0 – alwayslearning