Đưa ra một số giả định ở đây, nhưng tôi sẽ giả định rằng đây là vấn đề 32 so với 64 bit. Để xác minh, hãy thử hai lệnh này từ dấu nhắc lệnh (Windows Key, R, cmd.exe hoặc Start, Run, cmd.exe)
"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
"C:\Program Files\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
Gói đầu tiên sẽ chạy gói của bạn ở chế độ 32 bit trong khi gói thứ hai chạy gói ở chế độ 64 bit. Điều này sẽ quan trọng vì trình điều khiển của bạn và bất kỳ DSN nào bạn đã tạo sẽ chỉ hiển thị trong thế giới 32/64 bit.
Sửa SSDT
Khi bạn đã xác định được mình cần cái nào, có thể là phiên bản 32 bit, bạn cần đảm bảo dự án của mình đang sử dụng thời gian chạy thích hợp. Nhấp chuột phải vào dự án của bạn và chọn Thuộc tính, sau đó điều hướng đến tab Gỡ lỗi trong Thuộc tính cấu hình.
Sau khi đảo ngược giá trị Run64BitRuntime, tôi cho rằng gói của bạn sẽ hoạt động từ bên trong SSDT.
Sửa SQL Agent
Bạn sẽ cần phải chỉnh sửa công việc SQL Agent hiện có để thay đổi độ khó của bước công việc. Điều này sẽ nằm trong tab Cấu hình và sau đó là trong tab Nâng cao. Kiểm tra / Bỏ chọn thời gian chạy 32 bit.
Dối trá và lừa dối
Những người tinh ý có thể thấy rằng dtexec cung cấp /X86
lựa chọn. Đừng tin điều đó. Cách duy nhất để có được bit-ness chính xác là gọi một cách rõ ràng dtexec.exe đúng.
Tùy chọn này chỉ được sử dụng bởi SQL Server Agent. Tùy chọn này bị bỏ qua nếu bạn chạy tiện ích dtexec tại dấu nhắc lệnh.