Redshift ODBC 64位驱动程序错误

时间:2017-06-24 19:24:22

标签: amazon-web-services x86 odbc 64-bit connection-string

我的系统安装了32位和64位Redshift ODBC驱动程序。它显示在系统DSN 标签下的 ODBC数据源中。但是,驱动程序标签中只显示32位驱动程序。

此外,当我尝试通过在连接字符串 Driver = {Amazon Redshift(x64)} 中指定64位来建立Redshift连接时,我收到此错误:“ ERROR [ IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序“。

只有连接字符串中的以下内容似乎可以正常工作 Driver = {Amazon Redshift(x86)}

我试过

  1. 重新安装并修复64位驱动程序。
  2. 系统DSN 标签
  3. 中删除32位驱动程序

    但似乎都没有效果。

    我错过了什么吗?

3 个答案:

答案 0 :(得分:1)

有同样的问题,

我只保留了32位驱动程序并卸载了64位而且我放了     Driver = {Amazon Redshift(x86)}。 它运作良好。

可以从以下链接找到更多信息。

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/480db31c-b583-4c22-a7eb-bc37ad3a3e6d/data-source-name-not-found-and-no-default-driver-specified-error-in-report-builder-when-adding-an?forum=sqlreportingservices

答案 1 :(得分:0)

在我们公司的ASP.NET应用程序中使用Amazon Redshift驱动程序时,我们遇到了同样的问题。

如果您还在ASP.NET应用程序中使用Amazon Redshift驱动程序,希望我们发现的(困难的方式)对您有所帮助。

该问题的解决方案是,如果您使用64位IIS运行应用程序,则使用64位驱动程序;如果使用32位IIS,则使用32位驱动程序。让我们措手不及的是,即使在运行64位Visual Studio的64位计算机上,默认的IIS也是32位而不是64位。 (https://www.jc-tech.info/2016/09/24/running-32-bit-or-64-bit-iis-express/

这说明了为什么您的应用程序只能找到32位驱动程序。关于为什么64位驱动程序没有出现在ODBC数据源管理器的“驱动程序”选项卡中,实际上是有两个版本的ODBC管理器:一个32位版本和一个64位版本。 64位驱动程序将仅显示在64位ODBC管理器中。

在调试应用程序时,如果要确保Visual Studio使用的是64位IIS,请转到“工具”>“选项”>“项目和解决方案”>“ Web项目”,然后选中“使用IIS Express的64位版本“复选框。

类似地,在部署应用程序时,请确保驱动程序版本(32或64位)与生产环境的版本匹配。

答案 2 :(得分:0)

如果要构建.NET应用程序,请检查Build选项的项目属性以x64平台为目标,而不是使用Any CPU选项为全部目标。