SSIS在64位上运行64位运行时

时间:2013-03-25 12:15:20

标签: ssis

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

4 个答案:

答案 0 :(得分:4)

也许有人会觉得这很有用......

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

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

enter image description here

答案 1 :(得分:1)

SSIS开发环境是一个32位环境。在设计时,您只能访问32位数据提供程序,因此您只能访问这些64位提供程序 在您的SSIS项目中,在开发机器上也有32位版本。

另一方面,SSIS执行环境由底层操作系统决定,这意味着,无论您使用的提供程序的版本如何, 设计时,在运行时将使用正确的版本。运行包时也是如此 通过SSIS服务以及您自己从SSDT运行包

因此,您可以通过以下方式控制要明确使用的提供程序的版本 在设计时Run64BitRuntime项目设置

答案 2 :(得分:1)

XLSX文件在我们过去遇到了问题,XLS不能与64位一起使用。因此,所有工作都以32位运行,就像安德烈莫罗佐夫的回答一样。

我们的工作机器是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();
}

亲切地问候

答案 3 :(得分:0)

明确控制64位RUNTIME环境....

  • 项目属性
  • 选择配置属性
  • 选择调试
  • 选择调试选项
  • 将Run64BitRuntime设置为TRUE