Dựa trên thông tin được trình bày, bạn đang làm mọi thứ chính xác. Nếu bạn là người mới sử dụng SSIS, một điều tôi đề nghị, đó là bạn nhận được một bản sao của tiện ích bổ sung tuyệt vời BIDSHelper . Nó có các tính năng tuyệt vời thực sự có thể giúp bạn tiết kiệm thời gian, đặc biệt là liên quan đến cấu hình và biểu thức.
Tôi đã tạo một gói tham chiếu có Trình quản lý kết nối Excel trỏ đến C:\ssisdata\so_paulsmithjr.xls
và kết nối mọi thứ.
Tại thời điểm này, tôi biết mọi thứ đang hoạt động nên đã đến lúc dọn đồ. Tôi đã tạo các biến sau và giá trị của chúng
- CurrentFile - C:\ ssisdata \ so_paulsmithjr.xls
- PlaceHolder - ## FILE_PATH ##
- TemplateConnection -
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=##FILE_PATH##;Extended Properties="Excel 8.0;HDR=YES";
Biến thứ tư được đặt thành một biểu thức (Nhấp chuột phải vào biến, cửa sổ thuộc tính. Đặt Đánh giá là Biểu thức =Đúng &Biểu thức ở bên dưới)
- CurrentConnection -
REPLACE(@[User::TemplateConnection], @[User::PlaceHolder], @[User::CurrentFile])
Tôi đã so sánh giá trị CurrentConnection với ReferenceConnection (là giá trị ban đầu của chuỗi kết nối của Trình quản lý kết nối Excel) và mọi thứ đều khớp. Tại thời điểm này, nếu tôi thay đổi giá trị của CurrentFile thành C:\ ssisdata \ so_paulsmithjr - Copy.xls, điều đó sẽ tự động được phản ánh trong giá trị của CurrentConnection.
Mẹo cuối cùng sẽ là sử dụng Biểu thức trên Trình quản lý kết nối Excel. Một lần nữa, nhấp chuột phải vào CM và bên dưới Thuộc tính, sẽ có Biểu thức. Nó sẽ không mở rộng vì không có gì bên dưới nó. Thay vào đó, hãy nhấp vào dấu chấm lửng rồi chọn thuộc tính ConnectionString và chọn lại dấu chấm lửng và lần này kéo @[User::CurrentFile]
xuống Biến đổi. Nhấp vào OK x2 và bây giờ trình quản lý kết nối của bạn được thiết lập để sử dụng ở bất kỳ nơi nào mà biến CurrentConnection chỉ định.
Điều đó có hoạt động tốt hơn không?