【问题标题】:Error using Sybase IQ proxy table使用 Sybase IQ 代理表时出错
【发布时间】:2014-03-31 00:02:42
【问题描述】:

我有一个用例要求我在 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 驱动程序][Sybase IQ] 无法连接到“SYB1”:[Sybase][ODBC 驱动程序] [SQL Anywhere] 无法连接;服务器定义是循环的

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

任何帮助表示赞赏。

【问题讨论】:

    标签: sql sybase remote-access sap-iq


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我的连接字符串指向 Sybase ASE。就像我提到的那样,我尝试了所有类 'ASAODBC'、'ASEODBC' 和 'ODBC' 。是否需要为此安装任何特定的驱动程序?
    【解决方案2】:

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

    【讨论】:

    • 道歉,但请您详细说明“尝试连接到映射到本地数据库的远程服务器”。
    猜你喜欢
    • 2018-09-29
    • 2020-01-01
    • 2018-09-08
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多