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

3htmauhk  于 2022-12-29  发布在  Oracle
关注(0)|答案(1)|浏览(163)

我需要使用PL/SQL开发人员在PL SQL中进行开发,但我不知道如何使Oracle 11 g和PL/SQL开发人员在同一台机器上工作,因为PL/SQL开发人员需要安装32位Oracle客户端,而Oracle在本地机器上工作时不需要客户端。
1)我在驱动器d:\上安装了oracle 11 g 64位企业版2)然后在驱动器c:上安装了oracle 32位客户端(pl/sql开发人员只能使用32位版本的oci.dll)3)在我转到client_home%-〉Network-〉Admin文件夹并更正tnsname.ora文件并将从oracle 11 g home_dir.. tnsname.ora复制的连接设置写入其中之后

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

在c:\plsqldev\中安装PL/SQL开发人员并重新启动计算机之后。
现在我可以使用oracle数据库目录中的sqlplus连接到我的数据库,但当我尝试使用客户端sqlplus连接到oracle时,系统显示tns协议错误当我尝试使用pl/sql developer连接时,系统显示无法解析指定的连接标识符。我该怎么办?您能帮我吗

**添加:**我从NAMES.DIRECTORY_PATH中删除了TNSNAMES参数(在服务器和客户端sqlnet.ora文件中),现在当我登录时,它会说:ora-12154 tns无法解析指定的连接标识符,但当我尝试使用SERVER - s 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)

客户端名称.ora

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

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

1)首先,我们需要安装Oracle(我将其安装到d:\app)
2)然后我们需要下载并安装Oracle即时客户端(我发现即时客户端中没有任何配置文件(甚至没有网络-〉管理目录),只需要dll的像oci.dll等。我第一次选择了“管理员”,里面有自己的配置文件,似乎这种客户端只需要远程访问Oracle)。
3)打开PL/SQL developer,进入工具-〉首选项-〉连接,将“Oracle Home”字段设置为您的即时客户端的主目录(我输入c:\app),但通常它已经存在于下拉列表中,我们只需要点击下拉列表并选择OraClient11g_home1_32bit,这样我就设置了oci库路径(从下拉列表中选择),点击应用并退出PL/SQL developer;
4)现在我们需要创建两个环境变量(第一个将显示连接配置文件夹的路径,第二个是语言(如果我说得不对,请更正))-〉

  • TNS管理员= %服务器主目录%\网络\管理员\(输入的D:\app\Light\product\11.2.0\dbhome_1\NETWORK\管理员)
  • TNS_LANG =美国_CIS.CL8MSWIN1251

5)重新启动(可选),然后启动pl/sql开发人员-必须有三个连接别名,我选择orcl,输入我的登录名,密码和hiited确定和一切工作)));
感谢所有回答这个问题的人,希望能对大家有所帮助

xhv8bpkk

xhv8bpkk1#

检查tns文件中的端口名称,它应该是1521,其中XE是我的本地数据库名称,如下所示E =(描述=(地址=(协议= TCP)(主机= Shantu)(端口= 1521))(连接数据=(服务器=专用)(服务名称= XE))

扩展程序连接数据=(描述=(地址列表=(地址=(协议= IPC)(键=扩展程序1)))(连接数据=(SID = PLSExtProc)(表示= RO))
ORACLR连接数据=(描述=(地址列表=(地址=(协议= IPC)(键=外部程序1)))(连接数据=(SID = CLRExtProc)(表示= RO))

相关问题