我需要使用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确定和一切工作)));
感谢所有回答这个问题的人,希望能对大家有所帮助
1条答案
按热度按时间xhv8bpkk1#
检查tns文件中的端口名称,它应该是1521,其中XE是我的本地数据库名称,如下所示E =(描述=(地址=(协议= TCP)(主机= Shantu)(端口= 1521))(连接数据=(服务器=专用)(服务名称= XE))
)
扩展程序连接数据=(描述=(地址列表=(地址=(协议= IPC)(键=扩展程序1)))(连接数据=(SID = PLSExtProc)(表示= RO))
ORACLR连接数据=(描述=(地址列表=(地址=(协议= IPC)(键=外部程序1)))(连接数据=(SID = CLRExtProc)(表示= RO))