2

我有一个用例要求我在 Sybase ASE 的表 t1 和 Sybase IQ 的表 t2 上进行连接。我试图通过在 Sybase IQ 上创建一个 proxy_table 来实现这一点,如下所示:

create server SYB1 class 'ASAODBC' using    
Driver=libsyb64.so;Server=hostname;Port=portnum;PacketSize=16384;
EnableServerPacketSize=0'

(我什至在上面尝试了 'ASEODBC' 和 'ODBC' 类)

create external login XYZ to SYB1 remote login 'SYBASEASEusername' 
identified by SYBASEASEpwd'

create existing table 'proxy_table_name' at 'SYB1.dbname.owner.tablename'

在触发上述 sqls 时,我得到: [Sybase][ODBC Driver][Sybase IQ] Unable to connect to 'SYB1': [Sybase][ODBC Driver] [SQL Anywhere] Unable to connect ; 服务器定义是循环的

我在接口文件中有上述 Sybase ASE 主机的条目,我尝试通过指定服务器名称本身来创建服务器,但它仍然失败。

任何帮助表示赞赏。

4

2 回答 2

0

您的代理服务器正在使用“ASAODBC”类,但由于您要连接到 ASE 服务器,所以它应该是“ASEODBC”。作为AF。说,您还需要确保您的连接字符串指向 ASE 服务器,而不是 IQ 服务器。

全面披露:我在 SAP SQL Anywhere 工程部门为 SAP 工作。SQL Anywhere 是 SAP IQ(以前称为 Sybase IQ)的执行引擎。

于 2014-02-27T17:20:58.170 回答
0

当您尝试连接到映射到本地数据库的远程服务器时,会发生该错误。这在 Sybase IQ 中是不可能的。检查 ODBC 是否指向正确的服务器(在您的情况下应该是 ASE 服务器)。

于 2014-02-27T17:08:58.600 回答