【问题标题】:HY010 Oracle ODBC Function sequence error in SSIS?HY010 SSIS 中的 Oracle ODBC 函数序列错误?
【发布时间】:2019-06-17 20:35:15
【问题描述】:

我创建了一个 SSIS 包来将数据从一个 Oracle 表复制到另一个 Oracle 表。每个表都在不同的数据库中。

源表的每一列都出现此错误:

ERROR [HY010] [Oracle][ODBC]函数序列错误

这是截图。

我不知道这意味着什么。我也进行了研究,但没有看到任何对我有帮助的东西。

我该如何解决这个问题?我确实读过另一种方法是创建链接服务器。

我想补充一点,ODBC 驱动程序是使用relatively recent Oracle 12 driver 创建的,所以我不确定为什么不支持VARCHAR2 列。

还想指出,Oracle DB 为 64 位(Windows Server 2008)和 Visual Studio 2008(创建 SSIS 包)的 Windows 服务器为 32 位。这就是驱动程序末尾有“_32”的原因。

【问题讨论】:

  • 为什么不使用 OLE DB?
  • 我无法选择带有 OLE DB 的 ODBC 数据提供程序。
  • 什么是列元数据?如果 VARCHAR2 列的长度是多少?

标签: oracle ssis odbc etl ssis-2008


【解决方案1】:

基于following documentation

当 ODBC 函数的调用顺序不符合 ODBC 规范要求时,就会发生该错误。 如果 ODBC 函数调用返回错误并且应用程序继续进行需要上一次 ODBC 调用才能成功的 ODBC 调用,也会发生该错误。

我认为您应该检查 ODBC 驱动程序是否支持所有列数据类型。

类似问题


更新 1

您可以参考以下链接了解有关支持的数据类型的更多信息:

请注意,在上面的链接中,他们提到:

如果表中包含的列的数据类型不受 Oracle Database Gateway for ODBC 支持,则该列信息不会返回到 Oracle 数据库。

【讨论】:

  • 抱歉耽搁了。 ODBC 是使用相对较新的驱动程序“oraclient12home1_32”创建的,因此不支持一堆VARCHAR2 列是没有意义的。 i.stack.imgur.com/exVPk.png
  • @fdkgfosfskjdlsjdlkfsf 列的长度是多少?
猜你喜欢
  • 2021-10-20
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多