我需要使用 PL/SQL developer 在 PL SQL 中进行开发,但我不知道如何让 oracle 11g 和 pl/sql developer 在同一台机器上工作,因为 pl/sql developer 需要在 oracle 没有安装时安装 32 位 oracle 客户端当我们在本地机器上工作时需要客户端。这就是我所做的:
1) 我在驱动器 d:\ 上安装了 oracle 11g 64 位 Enterprise 2) 然后我在驱动器 c:(pl/sql 开发人员只能使用 32 位版本的 oci.dll) 上安装了 oracle 客户端 32 位) 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/sql 开发人员连接时它说 tns 协议错误表示无法解析指定的连接标识符。我应该怎么办?请问你能帮帮我吗
补充: 我从 NAMES.DIRECTORY_PATH 中删除了 TNSNAMES 参数(在服务器和客户端 sqlnet.ora 文件中),现在当我登录时它说:ora-12154 tns 无法解析指定的连接标识符,但它仍然成功连接到 DB 时我尝试连接 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即时客户端(我发现即时客户端中没有任何配置文件(甚至网络->管理目录),只需要像oci.dll等dll。注意:我第一次选择“管理员”,里面有自己的配置文件,似乎这种客户端只需要远程访问 Oracle)。我将我的即时客户端安装(解压缩)到 c:\app\ ;
3) 打开 PL/SQL developer ,进入 tools->preferences->connection 并将“Oracle Home”文件设置为您的即时客户端的主目录(我放置了 c:\app),但通常它已经存在于 drop 中下拉列表,我们只需要单击下拉列表并选择 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,输入了我的登录名,密码并点击OK,一切正常)));
感谢所有在这个主题上回答的人,希望它对某人有所帮助