Membuat beberapa asumsi di sini, tetapi saya akan berasumsi bahwa ini adalah masalah 32 vs 64 bit. Untuk memverifikasi, coba dua perintah ini dari prompt perintah (Kunci Windows, R, cmd.exe atau Mulai, Jalankan, 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
Yang pertama akan menjalankan paket Anda dalam mode 32 bit sementara yang kedua menjalankannya dalam mode 64 bit. Ini akan menjadi masalah karena driver Anda dan semua DSN yang Anda buat hanya akan terlihat di dunia 32/64 bit.
Memperbaiki SSDT
Setelah Anda mengidentifikasi mana yang Anda butuhkan, mungkin versi 32 bit, Anda harus memastikan proyek Anda menggunakan run-time yang sesuai. Klik kanan pada proyek Anda dan pilih Properties lalu arahkan ke tab Debugging di bawah Configuration Properties.
Setelah membalikkan nilai Run64BitRuntime, saya menganggap paket Anda akan berfungsi dari dalam SSDT.
Memperbaiki Agen SQL
Anda perlu mengedit pekerjaan Agen SQL yang ada untuk mengubah bittedness langkah pekerjaan. Ini akan berada di bawah tab Konfigurasi dan kemudian di bawah tab Lanjutan. Centang/Hapus centang runtime 32-bit.
Kebohongan dan penipuan
Orang yang jeli mungkin melihat bahwa dtexec menawarkan /X86
pilihan. Jangan percaya. Satu-satunya cara untuk mendapatkan bit-ness yang benar adalah dengan secara eksplisit memanggil dtexec.exe yang benar. Dokumentasi bahkan mengatakan sebanyak itu tetapi tidak ada yang membaca dokumentasi.
Opsi ini hanya digunakan oleh SQL Server Agent. Opsi ini diabaikan jika Anda menjalankan utilitas dtexec pada prompt perintah.