2011-11-18 37 views
13

Tôi muốn thực hiện các giao dịch khi viết vào DB trong Talend, nhưng không biết cách thực hiện. Tôi đã thử nhiều thành phần khác nhau từ bảng màu nhưng không thể thực hiện được. Tôi sẽ đánh giá cao sự giúp đỡ hoặc thậm chí tốt hơn bất kỳ hướng dẫn nào liên quan đến chủ đề này.Giao dịch trong Talend

Cảm ơn!

Trả lời

13

Talend hỗ trợ khôi phục giao dịch và cam kết trong khi ghi vào DB. Chúng ta hãy lấy Mysql ví dụ: sử dụng tMysqlConnection để tạo kết nối DB lúc bắt đầu công việc và sử dụng tMysqlCommit để cam kết thay đổi và đóng nếu subjob trước hoạt động tốt, tMysqlRollback để rollback thay đổi nếu công việc subjob trước đó thất bại, công việc đơn giản trông giống như:

tMysqlConnection_1 
    | 
onsubjobok 
    | 
tFileInputDelimited--main---tMysqlOutput 
    | 
onsubjobok---tMysqlCommit 
onsubjoberror---tMysqlRollback 

trên tMysqlOutput, đánh dấu vào tùy chọn using an existing connection

+1

Và nhớ bỏ chọn "Tự động Cam kết" trong thành phần tMysqlConnection (tab "Cài đặt nâng cao"). –

2

có nhiều phương pháp khác nhau của dữ liệu bằng văn bản vào một DB trong Talend. Bạn có tùy chọn sử dụng thành phần kết nối riêng biệt (sử dụng kết nối hiện có) hoặc sử dụng Built-In. Khi bạn sử dụng một thành phần kết nối riêng biệt, bạn cần phải cam kết rõ ràng giao dịch của bạn bằng cách sử dụng một thành phần tMSSqlCommit (hoặc thành phần tương tự cho một kiểu cơ sở dữ liệu khác). Nếu bạn sử dụng một built-in thì giao dịch tự động cam kết mà không có một thành phần tMSSqlCommit (hoặc thành phần tương tự cho một kiểu cơ sở dữ liệu khác).

Tôi đã chuẩn bị một hướng dẫn chi tiết hơn cho bạn nhưng cần điểm danh tiếng để đăng hình ảnh. Tôi sẽ cố gắng và nhận được chúng để tập tin máy chủ để tôi có thể liên kết với họ và gửi câu trả lời chi tiết hơn.