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

问题描述:

  1. 我已将Oracle客户端10g(版本10.2.0.1)安装到Windows 2008 64位计算机上。
  2. 我已经设置了tnsname.ora文件,检查了路径(以oracle客户端文件夹的路径开始)和oracle_home变量。
  3. 我也检查了客户端文件夹上的安全权限,并且已经为已认证的用户读/写。
  4. 我使用Oracle Oracle驱动程序(与Microsoft相反)建立ODBC32连接并成功测试连接。
  5. 我将SSIS(SQL Server 2008 R2)中的项目中的Runtime64Bit属性设置为false。

当我尝试测试在SSIS此ODBC数据源的连接我得到这个错误Oracle ODBC错误[IM004] [Microsoft] [ODBC驱动程序管理器] SQL_HANDLE_ENV上的驱动程序SQLAllocHandle

测试连接失败,因为初始化提供错误的。 ERROR [IM004] [微软] [ODBC驱动程序管理器]驱动程序对SQL_HANDLE_ENV的SQLAllocHandle 失败

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

您不需要依赖机器上定义的ODBC连接(将其埋在注册表中)或文件中。然后您可以使用SSIS配置/项目参数来控制细节。

我卸载了10g客户端并安装了11g客户端(因为11g与10g数据库一起工作),然后使用.Net Providers \ OracleClient Data Provider的ADO.Net连接。

这工作,似乎10g客户端不与Windows 2008发挥很好。