có vẻ như bạn đang nói về 2 vấn đề - đầu tiên, nhận được tài liệu XML để nơi Oracle có thể nhìn thấy nó. Và sau đó có thể làm cho nó để các công cụ quan hệ tiêu chuẩn có thể được áp dụng cho dữ liệu.
Đầu tiên, bạn hoặc DBA của bạn có thể tạo một bảng có cột BLOB, CLOB hoặc BFILE và tải dữ liệu. Nếu bạn có quyền truy cập vào máy chủ mà trên đó cơ sở dữ liệu tồn tại, bạn có thể định nghĩa đối tượng DIRECTORY trong cơ sở dữ liệu trỏ đến thư mục hệ điều hành. Sau đó đặt tập tin của bạn ở đó. Và sau đó hoặc thiết lập nó như là một BFILE hoặc đọc nó trong. (CLOB và BLOB lưu trữ trong cơ sở dữ liệu; BFILE lưu trữ một chỉ vào một tập tin ở phía hệ điều hành).
Hoặc, sử dụng một số công cụ cho phép bạn ghi trực tiếp CLOB vào cơ sở dữ liệu. Dù sao, điều đó sẽ đưa bạn đến điểm mà bạn có thể thấy tài liệu cá thể XML trong cơ sở dữ liệu.
Vì vậy, bây giờ bạn có tài liệu thể hiện được hiển thị. Bước 1 được thực hiện.
Tùy thuộc vào phiên bản, Oracle có một số công cụ khá tốt để băm nhỏ XML thành các bảng quan hệ.
Nó có thể khá dễ hiểu. Trong khi điều này vượt quá những gì tôi đã thực hiện (tôi có một dự án mà tôi sẽ thử nó vào mùa thu này), bạn có thể tải XML Schema của bạn về cơ sở dữ liệu và chú thích nó bằng lối chéo giữa các bảng quan hệ và XML. Sau đó, lấy CLOB hoặc BFILE của bạn và chuyển đổi nó thành một cột XMLTYPE với lược đồ đã xác định và bạn đã hoàn tất - việc băm nhỏ diễn ra tự động, dữ liệu là tất cả ở đó, tất cả đều quan hệ, tất cả đều có sẵn cho SQL tiêu chuẩn không có XQUERY hoặc XML tiện ích mở rộng.
Tất nhiên, nếu bạn muốn sử dụng XQUERY, thì chỉ cần lấy CLOB hoặc BFILE, chuyển đổi nó thành một XMLTYPE và đi cho nó.
Nguồn
2009-06-16 16:10:46
Thực tế đã có một bài viết blog hay của Marco Gralike ngày hôm nay về việc băm nhỏ trong cơ sở dữ liệu, http://www.liberidu.com/blog/?p=1094 –