window 7 系统下 ,PL/SQL 连接Oracle11g 失败。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window 7 系统下 ,PL/SQL 连接Oracle11g 失败。相关的知识,希望对你有一定的参考价值。

我的电脑环境是window 7 +oracle 11g +plsql 8.0 。我使用Oracle自带的sqlplus 可以正常连接到数据库,但是使用PLSQL连接 时 一直报ora-12541:TNS:无监听服务。我打开系统的服务 找到监听,重启之后还一直报这个错误。PL/SQL 重装之后 还是这个 问题 请各位大侠 指点迷津……

在网上搜索了半天,主要原因是oci.dll是64位的,而PL/SQL developer只有32位的,在使用64位oci.dll文件时出错.
在网上找了很多资料,最方便的解决方案如下:
1.到oracle官网下载Oracle InstantClient,我下的是instantclient-basiclite-win32-10.2.0.4.zip,把它解压缩到
oracle安装目录product下,其中还有一个目录为10.2.0.在其中的db_1/NETWORK/ADMIN目录下拷贝tnsnames.ora
文件到InstantClient解压目录.
2.非登录状态下进入PL/SQL developer,进入首选项,在connection中设置Oracle_Home和OCI Library,其中
Oracle_Home设置为InstantClient的解压目录,OCI Library设置为该目录下的oci.dll.
3.最后要设置启动PL/SQL developer的环境,在PL/SQL developer的安装目录下建立一个bat文件,文件内容如下:
@echo off
set path=E:\develop\oracle\product\instantclient_10_2
set ORACLE_HOME=E:\develop\oracle\product\instantclient_10_2
set TNS_ADMIN=E:\develop\oracle\product\instantclient_10_2
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe
其中NLS_LANG前部分必须是AMERICAN_AMERICA,后部分是数据库采用的字符集. ......

上网找的,试试看吧。
参考技术A 请问,最后怎么解决的????急急急,咱俩同一个问题 参考技术B 可以换个软件试试,我现在用的是sqldeveloper。

pl/sql command window 初步接触

pl/sql command window基本操作

PL/SQL Developer应用两年了,今天第一次应用command window。

command window类似于sqlplus窗口:
1、用Esc键退出到SQL行。
2、调用存储过程:Begin  procedure xxx(); end; 时,先回车到下一行,再/ ,再按enter键,才能执行出结果。
3、调用存储过程前,需要先打开 set serveroutput on 否则执行不出结果。
4、SQL window中调用完存储过程之后,点击SQL旁边的Output小窗口也可以看到输出结果。
5、在Test window中调用也可以看到,底下可以输入变量的值。旁边也有一个DBMS Output可以看到结果。
6、例子:
 
create table BOOK(编号 number(10),书名 varchar2(20),价格 varchar2(20))
insert into BOOK values(100,‘aa‘,‘88.77‘)
 
create or replace procedure query_BOOK(name IN OUT NUMBER,MY_BOOK OUT VARCHAR2,MY_BOOK2 OUT VARCHAR2) is
begin
select 编号 ,书名,价格 INTO name,MY_BOOK,MY_BOOK2 from BOOK where 编号=name;  
end query_BOOK;
 
declare v_name number(10);
 v_my_book varchar2(50);
 v_my_book2 varchar2(20);
begin
  v_name := 100;
  query_BOOK(v_name,v_my_book,v_my_book2); --调用存储过程
  dbms_output.put_line(‘v_name is: ‘||v_name);
  dbms_output.put_line(‘v_my_book is: ‘||v_my_book);  
  dbms_output.put_line(‘v_my_book2 is: ‘||v_my_book2);  
exception
  when others then
  dbms_output.put_line(sqlerrm);
end;

以上是关于window 7 系统下 ,PL/SQL 连接Oracle11g 失败。的主要内容,如果未能解决你的问题,请参考以下文章

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

PL/SQL里 execute immediate的用法 谁给解释下

pl/sql Developer如何导入dump文件

换电脑后pl/sql连接oracle数据库总是提示不能初始化oci.dll,已经下过32位的Oracle client

PL/SQL的F8没反应怎么办?