我的系统安装了32位和64位Redshift ODBC驱动程序。它显示在系统DSN 标签下的 ODBC数据源中。但是,驱动程序标签中只显示32位驱动程序。
此外,当我尝试通过在连接字符串 Driver = {Amazon Redshift(x64)} 中指定64位来建立Redshift连接时,我收到此错误:“ ERROR [ IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序“。
只有连接字符串中的以下内容似乎可以正常工作 Driver = {Amazon Redshift(x86)} 。
我试过
但似乎都没有效果。
我错过了什么吗?
答案 0 :(得分:1)
有同样的问题,
我只保留了32位驱动程序并卸载了64位而且我放了 Driver = {Amazon Redshift(x86)}。 它运作良好。
可以从以下链接找到更多信息。
答案 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选项为全部目标。