我使用Microsoft Visual Studio Ultimate 2012试用版在32位计算机上开发了SSIS包,我已将此包部署到64位计算机上进行处理。我无法将run64bitruntime更改为true,此字段已禁用,我无法将其更改为true。如何启用此字段以便我可以将其更改为true。
答案 0 :(得分:4)
也许有人会觉得这很有用......
可以通过以下方式更改执行环境(SQL Server作业)上的run64bitruntime
参数:
SQL Server Agent->Jobs->Job Step Properties->General->Execution Options
答案 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环境....