如何通过PL / SQL Developer 9访问本地安装的Oracle 11g

问题描述 投票:3回答:1

我需要使用PL / SQL开发人员在PL SQL中开发,但我不知道如何让oracle 11g和pl / sql开发人员在同一台机器上工作,因为当oracle没有安装时,pl / sql开发人员需要安装32位oracle客户端当我们在本地机器上工作时需要客户。这就是我做的:

1)我在驱动器上安装了oracle 11g 64位Enterprise d:\ 2)然后我在驱动器c上安装了oracle客户端32位:(pl / sql开发人员只能使用32位版本的oci.dll)3)之后我去了client_home% - > Network-> Admin文件夹并更正了tnsname.ora文件并在那里写了我的连接设置,该设置是从我的oracle 11 g home_dir..tnsnames.ora中复制的

    MyOracle =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
)

我在c:\ plsqldev \中安装了PL / SQL开发人员并重启了我的机器。

所以现在我可以使用位于我的oracle数据库目录中的sql * plus连接到我的数据库,但是当我尝试使用我的客户端sql *连接到我的oracle时,当我尝试使用pl / sql开发人员连接时,它说tns协议错误说无法解析指定的连接标识符。我该怎么办?请问你能帮帮我吗

补充:我从NAMES.DIRECTORY_PATH中删除了TNSNAMES参数(在 - 服务器和客户端sqlnet.ora文件中),现在当我登录时说:ora-12154 tns无法解析指定的连接标识符,但它仍然成功连接到DB时我尝试连接SERVER - sql * plus。

这是我的配置文件:

**servers listener.ora **

        SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:\app\Light\product\11.2.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Light\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )
ADR_BASE_LISTENER = D:\app\Light

SQLNET.ORA服务器

SQLNET.AUTHENTICATION_SERVICES= (NONE)

NAMES.DIRECTORY_PATH= (HOSTNAME)

服务器tnsname.ora

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


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

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

客户端sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= (NONE)

NAMES.DIRECTORY_PATH= (HOSTNAME)

Tnsnames.ora客户

    ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

添加:Yess!))最后我找到了解决方案::)我们需要使用服务器的配置文件而不是客户端 - 但必须从客户端目录中获取oci.dll(32位)。我将描述基本步骤 - 我如何使pl / sql developer 10.0.2与本地安装的Oracle 11.2 x64一起工作:

1)拳头我们需要安装Oracle(我将它安装到d:\ app)

2)然后我们需要下载并安装oracle即时客户端(我发现在即时客户端中没有任何配置文件(甚至不是网络 - >管理员目录),只需要像oci.dll等dll。注意:我第一次选择“管理员”,里面有自己的配置文件,似乎这种客户端只需要远程访问Oracle)。我将我的即时客户端安装(解压缩)到c:\ app \;

3)打开PL / SQL开发人员,转到tools-> preferences-> connection并将“Oracle Home”文件设置到你的即时客户端的主目录(我打了c:\ app),但通常它已经存在于drop向下列表,我们只需要单击下拉列表并选择OraClient11g_home1_32bit,通过这种方式我设置oci库路径(从下拉列表中选择)。单击apply并退出pl / sql developer;

4)现在我们需要创建两个环境变量(第一个将显示连接配置文件夹的路径,第二个是语言(如果我不对请请纠正我)) - >

  • TNS_ADMIN =%SERVER_HOME%\ NETWORK \ ADMIN \(我打了D:\ app \ Light \ product \ 11.2.0 \ dbhome_1 \ NETWORK \ ADMIN)
  • TNS_LANG = AMERICAN_CIS.CL8MSWIN1251

5)重新启动(可选),然后启动pl / sql开发人员 - 必须有三个连接别名,我选择orcl,输入我的登录名,密码和hiited OK,一切正常)));

感谢所有在本主题中回答的人,希望它能帮到某个人

oracle plsqldeveloper
1个回答
0
投票

检查tns文件中的端口名称,它是sholud是1521,其中XE是我的本地数据库名称,如下所示E =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = Shantu)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XE))

)

EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))

ORACLR_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)))(CONNECT_DATA =(SID = CLRExtProc)(PRESENTATION = RO)))

© www.soinside.com 2019 - 2024. All rights reserved.