【问题标题】:Connecting to Oracle DB 11g with 10g client - syntax error使用 10g 客户端连接到 Oracle DB 11g - 语法错误
【发布时间】:2012-10-11 09:54:06
【问题描述】:

在 Ubunut 机器上,我使用此命令通过 11g 即时客户端连接到 Oracle 11g 数据库:

sqlplus username/password@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = the.address.com)(PORT = theport)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = service.address.com)))

效果很好……在 Mac OS X Mountain Lion 上,我只能运行即时客户端 10g(32 位版本),当我尝试使用同一行进行连接时出现此错误:

-bash: syntax error near unexpected token `('

语法从 10g 变成 11g 了吗?

【问题讨论】:

    标签: oracle instantclient


    【解决方案1】:

    你需要在连接字符串两边加上引号,否则你的shell可以解释括号。

    类似:

    sqlplus user/pass@"(DESCRIPTION...)"
    

    【讨论】:

    • 哦,谢谢; ) 仍然令人困惑,我在两台机器上都使用 BASH,并且它可以在没有括号的情况下在 Ubuntu 上运行。
    • 您可能在某处“幸运地放错地方”了一个空格。你不应该指望这个没有引号的地方工作。
    • 我也是这么想的,但是在 Ubuntu 上没有引号的情况下该行可以正常工作——我复制并粘贴了它。但是,我将来会使用引号; )
    猜你喜欢
    • 2013-03-05
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2019-10-09
    • 1970-01-01
    相关资源
    最近更新 更多