背景:
我正在将数据从 SQL Server 2008 ( ) 上的数据库提取SQLA
到 Oracle ( ORCLA
)。数据是通过 HS ODBC 连接使用数据库链接提取的。SQL 和 Oracle 数据库都是 32 位版本。
现在,我们将 Oracle 数据库移至速度更快的 64 位服务器 ( ORCLB
),32 位 Oracle 数据库仍保留在旧系统上,并且此系统 ( ORCLA
) 仍用作两个数据库之间的“网关”。如今,32 位 Oracle 服务器 ( ORCLA
) 已废弃。
这破坏了两者之间的接口。我尝试在 64 位 Oracle 服务器 ( ORCLB
) 上设置 HS ODBC 连接,但开始收到上述错误消息。经过进一步研究,我发现 64 位系统不支持 HS ODBC 网关。因此,我在另一台 32 位 Oracle 服务器 ( ORCLC
) 上设置了 HS ODBC 连接。64 位服务器 ( ) 上的 HS ODBC 设置(侦听器等)ORCLB
被废弃。
问题:我可以 ping SQLA
,使用tnsping
。lsnrctl
显示 listNer 是正确的。我可以连接到 上的数据库ORCLC
并从 中获取数据SQLA
。但是,在尝试从SQLA
上获取数据时ORCLB
,会引发上述错误消息。我不知道该怎么做才能解决这个问题。任何帮助都将不胜感激。
32位系统使用Oracle 10gR2,64位版本使用Oracle 10.2.0.4。
(如果我在这里发帖有误,请原谅我,我觉得这更多的是服务器端的问题)
答案1
我绞尽脑汁尝试让它工作,但 ORA-28545 错误让我非常沮丧,所以我放弃了。
在独立 PC 上安装 32 位 Oracle 以与 SQL Server 通信,并使用 dblink 从 64 位 Oracle 服务器连接到 32 位 Oracle 独立 PC。冗长的方法?是的,但无需再挖掘日志来查找连接中断的原因和位置。