SQL ODBC在SQL_HANDLE_ENV上的Oracle ODBC错误[IM004] [Microsoft] [ODBC驱动程序管理器]驱动程序的SQLAllocHandle

时间:2014-04-16 13:55:47

标签: ssis sql-server-2008-r2 oracle10g 64-bit

  1. 我已将Oracle客户端10g(版本10.2.0.1)安装到Windows 2008 64位计算机上。
  2. 我已经设置了tnsname.ora文件,检查了路径(以oracle客户端文件夹的路径开头)和oracle_home变量。
  3. 我还检查了客户端文件夹的安全权限,并且对已通过身份验证的用户具有读/写功能。
  4. 我使用Oracle Oracle驱动程序(而不是Microsoft Oracle驱动程序)建立了ODBC32连接,并成功测试了连接。
  5. 我将SSIS(SQL Server 2008 R2)项目中的Runtime64Bit属性设置为false。
  6. 当我尝试在SSIS中测试此ODBC数据源的连接时,我收到此错误

      

    由于初始化提供程序时出错,测试连接失败。   错误[IM004] [Microsoft] [ODBC驱动程序管理器]驱动程序的SQLAllocHandle   在SQL_HANDLE_ENV失败

2 个答案:

答案 0 :(得分:1)

我会在SSIS数据连接中指定整个连接字符串。

您不需要依赖计算机上定义的ODBC连接(它们隐藏在注册表中)或文件中。然后,您可以使用SSIS配置/项目参数来控制详细信息。

答案 1 :(得分:0)

我卸载了10g客户端并安装了11g客户端(因为11g与10g数据库配合使用),然后使用ADO.Net与.Net Providers \ OracleClient数据提供程序连接。

这很有效,似乎10g客户端在Windows 2008上运行得不好。