2010-10-15 36 views
5
chính

Tôi cố gắng để xuất khẩu một tập dữ liệu từ một cơ sở dữ liệu oracle bởi một tập hợp các phím primery sử dụng:DBUnit bộ dữ liệu xuất khẩu theo bộ chủ chốt

TablesDependencyHelper.getDataset(connection, fullTableName , 
        new TreeSet(Arrays.asList(
         new BigDecimal[]{new BigDecimal(1)}))); 

Đó ném cho tôi một tập tin dữ liệu 45MB !!!, kiểm tra tập tin tôi nhận ra rằng vấn đề là một tham chiếu đến một bảng với phím tổng hợp (6 phím nước ngoài), thay vì xuất khẩu đăng ký tham chiếu duy nhất, nó đã lấy toàn bộ dữ liệu bảng. ¿Tôi nghĩ đây là lỗi của DBUnit, có ai biết giải pháp cho aproach này không?

+0

Bạn mong đợi rằng chỉ tham chiếu đến bảng mới được xuất, thay vì toàn bộ bảng? Bạn có khóa ngoại nào phụ thuộc vào cái bàn đó không? – blueberryfields

Trả lời

7

Trong quá khứ tôi đã sử dụng thành công Jailer (http://jailer.sourceforge.net/) để trích xuất bộ dữ liệu tương thích với DBUnit. Jailer có một GUI cho phép bạn chọn các bảng bạn muốn xuất và quan trọng hơn, loại trừ khỏi các bảng dữ liệu cụ thể cuối cùng. Jailer có thể xuất các bộ dữ liệu theo định dạng DBUnit tương thích XML. Hạn chế duy nhất của Jailer là thời gian cần thiết để phân tích ban đầu cấu trúc của db của bạn - nhưng chỉ khi bạn có một db lớn, phức tạp).

Các vấn đề liên quan