6

我使用 Microsoft Visual Studio Ultimate 2012 试用版在 32 位机器上开发了一个 SSIS 包,我已将此包部署到 64 位机器上进行处理。我无法将 run64bitruntime 更改为 true,此字段已禁用,我无法将其更改为 true。如何启用此字段,以便能够将其更改为 true。

4

4 回答 4

8

也许有人会发现这很有用...

可以通过以下方式更改run64bitruntime执行环境(SQL Server Job)的参数:

SQL Server Agent->Jobs->Job Step Properties->General->Execution Options

在此处输入图像描述

于 2014-05-26T09:57:37.817 回答
3

The SSIS development environment is a 32-bit environment. At design time, you only have access to 32-bit data providers, and as a consequence you can only enlist those 64-bit providers in your SSIS projects that also have a 32-bit version available on the development machine.

The SSIS execution environment, on the other hand, is dictated by the underlying oper-ating system, which means that, regardless of the version of the provider that you used at design time, at run time the correct version will be used. This is true when the package is run by the SSIS service as well as when you run the package yourself from SSDT

So, you can control the version of the providers to be used explicitly, via the Run64BitRuntime project setting ONLY at design time.

于 2013-03-26T09:19:16.797 回答
2

XLSX 文件在我们过去曾出现问题,XLS 不能用于 64 位。因此,所有作业都使用 32 位运行,就像 Andrey Morozov 的回答一样。

我们的工作机器是 32 位的,当我有一个 x64 窗口时,我需要在 32 位中调试所有包。我懒得手动设置所有包的选项,所以我发现它保存在“.user”文件中。

我编写了这个小 C# 脚本来进行更改:

foreach (FileInfo myFile in new DirectoryInfo(@"PATH TO OUR SSISPROJECT SHARE")
    .GetFiles("*.dtproj.user", SearchOption.AllDirectories))
{
    TextReader textR = myFile.OpenText();
    String fileContent = textR.ReadToEnd();
    textR.Close();
    if (fileContent.Contains("<Run64BitRuntime>true"))
    {
        fileContent = fileContent.Replace("<Run64BitRuntime>true"
        , "<Run64BitRuntime>false");
    }
    else if (!fileContent.Contains("<Run64BitRuntime>") && fileContent.Contains("<Options>"))
    {
        fileContent = fileContent.Replace("<Options>"
        , "<Options>\r\n        <Run64BitRuntime>false</Run64BitRuntime>");
    }
    else
    {
        continue;
    }
    TextWriter textW = myFile.CreateText();
    textW.Write(fileContent);
    textW.Close();
}

亲切的问候

于 2017-01-04T15:09:29.003 回答
1

显式控制 64 位 RUNTIME 环境......

  • 项目属性
  • 选择配置属性
  • 选择调试
  • 选择调试选项
  • 将 Run64BitRuntime 设置为 TRUE
于 2015-08-14T09:43:25.090 回答