Robię tu pewne założenia, ale zamierzam założyć, że jest to problem 32 vs 64 bity. Aby zweryfikować, wypróbuj te dwa polecenia z wiersza poleceń (klawisz Windows, R, cmd.exe lub Start, uruchom, 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
Pierwszy uruchomi pakiet w trybie 32-bitowym, podczas gdy drugi uruchomi go w trybie 64-bitowym. Będzie to miało znaczenie, ponieważ Twoje sterowniki i wszelkie utworzone przez Ciebie DSN będą widoczne tylko w świecie 32/64-bitowym.
Naprawianie SSDT
Po zidentyfikowaniu potrzebnej wersji, prawdopodobnie wersji 32-bitowej, musisz upewnić się, że Twój projekt korzysta z odpowiedniego środowiska uruchomieniowego. Kliknij prawym przyciskiem myszy swój projekt i wybierz Właściwości, a następnie przejdź do zakładki Debugowanie we Właściwościach konfiguracji.
Po odwróceniu wartości Run64BitRuntime zakładam, że twój pakiet będzie działał z poziomu SSDT.
Naprawianie agenta SQL
Będziesz musiał edytować istniejące zadanie SQL Agent, aby zmienić bitbitowość kroku zadania. Będzie to na karcie Konfiguracja, a następnie na karcie Zaawansowane. Zaznacz/odznacz 32-bitowe środowisko wykonawcze.
Kłamstwa i oszustwa
Spostrzegawczy ludzie mogą zobaczyć, że dtexec oferuje /X86
opcja. Nie wierz w to. Jedynym sposobem na uzyskanie poprawnej bitowości jest jawne wywołanie poprawnego dtexec.exe Dokumentacja nawet tak mówi, ale nikt nie czyta dokumentacji.
Ta opcja jest używana tylko przez agenta SQL Server. Ta opcja jest ignorowana, jeśli uruchomisz narzędzie dtexec w wierszu poleceń.