gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 01:09:39 25 4
gpt4 key购买 nike

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

1) 我在驱动器 d:\上安装了 oracle 11g 64 位 Enterprise2)然后我在驱动器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 Developer 并重新启动计算机后。

现在我可以使用位于 Oracle 数据库目录中的 sql*plus 连接到我的数据库,但是当我尝试使用客户端 sql*plus 连接到我的 Oracle 时,当我尝试使用 pl/连接时,它会显示 tns 协议(protocol)错误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)

客户端 tnsnames.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 instant客户端(我发现即时客户端中没有任何配置文件(甚至没有网络->管理目录),只需要dll之类的oci.dll 等.. 注意:我第一次选择“管理员”,里面有自己的配置文件,似乎这种客户端只需要远程访问 Oracle)。我将即时客户端安装(解压)到 c:\app\;

3) 打开PL/SQL Developer,进入工具->首选项->连接,将“Oracle Home”字段设置为即时客户端的主目录(我放置的是c:\app),但通常它已经存在在下拉列表中,我们只需单击下拉列表并选择 OraClient11g_home1_32bit ,通过这种方式我设置 oci 库路径(从下拉列表中选择)。点击应用并退出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 Developer - 必须有三个连接别名,我选择了 orcl ,输入了我的登录名、密码并点击确定,一切正常)));

感谢所有在此主题中回答的人,希望它能对某人有所帮助

最佳答案

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

)

EXTPROC_CONNECTION_DATA = (描述= (地址列表= (地址 =(协议(protocol) = IPC)( key = EXTPROC1)) ) (连接数据= (SID = PLSExtProc) (演示=RO) ) )

ORACLR_CONNECTION_DATA = (描述= (地址列表= (地址 =(协议(protocol) = IPC)( key = EXTPROC1)) ) (连接数据= (SID = CLRExtProc) (演示=RO) ) )

关于oracle - 如何通过PL/SQL Developer 9访问本地安装的Oracle 11g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18738101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com