Tôi đang sử dụng SSIS để chuyển đổi dữ liệu từ excel sang OLEDB SQL. Tôi có một tập hợp các trang tính trong một thư mục mà tôi sẽ phải lặp lại và chèn dữ liệu vào từng bảng này vào một bảng. Tôi có một kịch bản mà tôi phải lặp qua một tập hợp các bảng Excel có cấu trúc cột khác nhau. Tôi có thể lặp qua mỗi bảng thông qua điều tra vòng lặp foreach tìm tên tệp và chuyển chúng vào nguồn Excel.SSIS - ánh xạ cột động
Tôi muốn biết nếu có cách nào để thoát khỏi ánh xạ cột này trong thành phần đích sẽ là bảng SQL OLEDB trong trường hợp của tôi. Bởi vì các ánh xạ này khác nhau cho mỗi tệp. Có cách nào để làm điều này một cách năng động?
Làm cách nào để sử dụng tác vụ tập lệnh để định cấu hình đối tượng SQLBulkcopy? có một liên kết tôi có thể sử dụng? bạn có thể xin vui lòng được một chút briefer ... xin lỗi vì đã câm – Baaju
Hãy thử tài liệu của lớp SqlBulkCopyColumnMapping tại http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopycolumnmapping.aspx cho một ví dụ sử dụng ánh xạ tùy chỉnh. Nó đơn giản như cung cấp một trình đọc nguồn (OleDbDataReader cho excel), kết nối đích và điền thuộc tính ColumnMappings của đối tượng SqlBulkCopy bằng cách sử dụng tên của cột nguồn và đích. Bạn thậm chí có thể để trống danh sách ColumnMappings, trong trường hợp này nó ánh xạ các cột theo vị trí thứ tự của chúng - cũng giống như Tác vụ Chèn Hàng loạt. –