0

对于家庭作业,我必须使用 SQL*Plus 和 Form builder。我安装在 vm oracle 11g 和 dev suites 10g 上。一切都是全新安装,但我找不到连接 SQL*Plus 而非 Form builder 的方法。

两者都要求我不确定我是否正确的主机字符串。我的 tnsnames.ora 看起来像这样:

LISTENER_ORCL =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

ORACLR_CONNECTION_DATA =
    (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
            (SID = CKRExtProc)
            (PRESENTATION = RO)
        )
    )

ORCL =
    (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECTION_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = orcl.localdomain)
        )
    )

我还解锁了用户 scott/tiger。我试图连接 SYSTEM/我<password><password>安装和 scott/tiger 上给出的主机字符串:ORCL、orcl.localdomain 或什么都没有,但它一直给我错误

ORA-12560 协议适配器错误(无主机环)

或者

ORA-12154 无法解析指定的连接标识符(主机环非空)。

4

2 回答 2

0

Forms Builder 使用tnsnames.ora的是在它的目录中找到的,而不是在数据库服务器目录中的那个。

确保tnsnames.ora表单构建器文件夹中的内容(存在于\network\admin表单构建器安装路径的文件夹中)与数据库安装路径tnsnames.ora的文件夹中的内容相同。\network\admin

您还可以强制TNS_ADMIN变量的路径并放置tnsnames.ora到中提到的该路径,TNS_ADMIN以便选择tnsnames.ora该路径中的存在

于 2012-09-14T08:07:22.270 回答
0

Which SQL*Plus client are you using?

afaik - Oracle stopped distributing the SQL*Plus client and now distribute something called SQL*Plus Instant Client. If you are using the latter then the correct format of the connect string is as follows:

sqlplus hr/your_password@//mymachine.mydomain:port/MYDB

For anything else - also check your registry for your TNS_ADMIN entry. This should be populated with the path to you tnsnames.ora

于 2012-09-14T09:13:53.660 回答