Hi there,
This is pretty arcane, but I've been struggling with this all morning, and I'm out of ideas. I bet one of you guys have solved this though...
I have a package which reads from Excel. It is deployed to the Catalog. I want to run it in 32bit mode, as the server has the 32bit ACE OLEDB driver on it. So far, so straightforward.
I want to give it a quick execute to test it before I create the Agent job, so I right-click on the package in the Catalog to Execute, go into 'Advanced' and as soon as I go to check the '32-bit runtime' box, I get the following error:
"The path for 'ISServerExec.exe' cannot be found. The operation will now exit."
My understanding is that when this occurs, I'm calling [SSISDB].[catalog].[create_execution] like this:
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Package.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'ETL', @project_name=N'Test_OK_to_delete', @use32bitruntime=True, @reference_id=Null
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[start_execution] @execution_id
GO
and sure enough, when I execute that sproc directly, I get the same error.
I believe that both (the 32bit) DTExec.exe and (the 32bit) ISServerExec.exe are in play here, but I'm not sure which is calling which. It *feels* like I'm executing the 32bit DTExec, but that's unable to find the 32bit ISServerExec.
If I look in the registry
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/120/SSIS/Setup/DTSPath is set to C:\Program Files\Microsoft SQL Server\120\DTS\ which is the 64bit version.
Am I missing something obvious here?
Thanks for your help