【问题标题】:Windows 7 Pro x64, Visual Studio 2017 x64, SSIS/SSAS/SSRS x64, SSDT x64, SQL Server 2014 x64 - compatibility issues?Windows 7 Pro x64、Visual Studio 2017 x64、SSIS/SSAS/SSRS x64、SSDT x64、SQL Server 2014 x64 - 兼容性问题?
【发布时间】:2018-01-17 09:59:22
【问题描述】:

由于业务的几个要求,我不得不将 SSIS 引入我的 SQL Server 工作中,因为我无法使用 SQL Server 和 SSMS 标准安装中现成的其他方法来实施更改。

直到 SSIS 要求一切正常:SSMS 运行良好,使用 VS2010 shell 将 SSRS 报告直接部署到服务器,并且能够比使用 Report Builder 更好地维护我的报告。但这对于几个项目来说是不够的,所以选择了 SSIS 来解决这个不足。

在部署软件包之前一切正常。开发、测试和构建 - 包就像一个魅力。但是部署的包是行不通的。故障排除指向 32/64 位问题,并且仅在服务器代理作业属性中的高级配置中检查了选项“32 位运行时”之后。当我安装和使用的所有东西都是 64 位时,这怎么可能?显然,这会带来额外的问题(ODBC 驱动程序、其他应用程序都需要 32 位版本),并且如果可能的话,解决这些问题并不像微软认为的那么明显。

然后,遵循以下逻辑:如何使用 Microsoft Stack 设置真正的端到端 64 位环境?

【问题讨论】:

  • 听起来您没有使用平面文件连接来连接文件。我猜对了吗?如果是,原因很简单,BIDS是32bit的应用;它不能使用64位驱动(BIDS现在已经10年了,当时很多人还在使用32位操作系统,所以32位是有意义的)。
  • @Larnu - 在您提出一些观点时修改了问题。所以,放弃了 BIDS,因为它是一种习惯的力量,它被提及了。请查看改进后的问题。
  • 我承认,我不完全确定您的问题是什么。您首先声明有时您的一个(已部署?)软件包会失败。但是,您没有讨论任何错误消息,只是说它在 SSDT 中运行良好。然后你突然换了个思路,问为什么一定要用32位驱动?好吧,对于 csv 是的文本文件 9)你不必这样做;只需使用平面文件连接。如果您使用的是 Excel 连接管理器,那么您必须使用 32 位版本的 SSDT。 32 位应用程序不能使用 64 位驱动程序,即使在 64 位主机上也是如此。
  • @Larnu - 再次修改了这个问题。抱歉之前的尝试。没有任何借口,即使我在之前的尝试中搞砸了是有原因的。
  • 可能的原因是因为您正在使用的东西只有 32 位驱动程序,因此在使用该软件包时,您必须在 32 位模式下运行。 ACE 驱动程序就是一个“很好”的例子。在 SSDT 中,应用程序是 32 位的,因此 必须 使用 32 位驱动程序。如果您也是 SQL Server,则只安装了 32 位驱动程序(不是 64 位),那么您必须再次使用 32 位运行时选项。就是这样;关于您使用的驱动程序。如果您的工作没有 64 位驱动程序,但有 32 位驱动程序,则您已在 32 位中运行(反之亦然)。

标签: sql-server visual-studio-2017 64-bit ssis-2014


【解决方案1】:

引用 cmets 的观点:

可能的原因是因为您只有 32 位驱动程序 您正在使用的东西,因此在使用包时,您必须 在 32 位模式下运行。 ACE 驱动程序就是一个“很好”的例子。什么时候 在 SSDT 中,应用程序是 32 位的,因此必须使用 32 位驱动程序。 如果 您的 SQL Server 也只安装了 32 位驱动程序(不是 64 位)然后,您必须再次使用 32 位运行时选项。 这完全取决于您使用的是什么驱动程序。如果你没有 64 位 你正在做的事情的驱动程序,但是有 32 位的,你已经运行了 32 位(反之亦然)。

强调了几位。

【讨论】:

  • 谢谢。我的问题仍然存在:我必须安装 32 位驱动程序只有 我的 64 位部署必须在 32 中运行位运行时64 位 SQL Server 代理仅在强制兼容 32 位之后 我必须安装 32 位驱动程序为了使该软件包成功运行。为什么?包涉及在远程 SQL Server 上调用 SP,然后将该 SP 的结果复制到另一个 SQL Server 上的表中。全部 64 位。
  • 很可能,无论出于何种原因,您的实例都无法使用这 64 个驱动程序,或者它们没有正确安装。例如,从历史上看,64 位版本的 ACE 驱动程序不适用于 SQL Server(我相信现在可以,但我还没有在 2016/2017 实例上测试过)。如果您访问的是 .xls 文件(而不是 .xlsx),那么您必须使用 32 位,因为 JET 不支持 64 位(因为它是旧技术)。至于你的实例为什么不支持,可能是驱动的问题,也可能是SQL Server的问题。我发现它可以是任何一种(我承认,这很令人沮丧)。
猜你喜欢
  • 2018-09-21
  • 2019-06-15
  • 2010-11-29
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 2012-05-03
  • 1970-01-01
相关资源
最近更新 更多