pl/sql连接oracle数据库tables里面不显示表。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pl/sql连接oracle数据库tables里面不显示表。相关的知识,希望对你有一定的参考价值。

用pl/sql远程连接服务器上的数据库连接成功的,但是tables里面不显示表,不过我用查询语句查里面的表却是有的,这是怎么回事?我又用另一台机器远程连接试了下,tables里面是正常的。求大神解决啊!~具体看图。
请别给我说刷新。

1、通过sysdb角色查看数据库是否正常,然后进入下一步。

2、解压文件的32位客户端如图所示;需要把这个解压到安装目录下面的product文件目录下面。

3、将Oracle安装目录中的tnsnames.ora(位于%Oracle_Home%\\NETWORK\\ADMIN中)拷贝到该目录下。

4、可以通过解压文件找到这个32位的客户端。

5、进入PL/SQL(不登录进入即可),选择Tools》Preferences。

6、最后一步,使用用户名与密码登录测试一下子;如图所示成功了。

注意事项:

SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。

参考技术A

刚刚也遇到了,应该是程序问题,然后百度了一下结合自己刚刚点过的地方,可以在“当前用户”和 ”所有用户“两个选项切换一下,多切换几次就好。然后去看看Tbales是不是有了表

参考技术B 把列表刷新一下就可以看到了
直接在“Table”上右键点刷新
或者
“对象”下面、“+”左边的按钮 也可以追问

没用

追答

不行就升级到pl/sql 11,这个版本可以自动刷新

追问

两台机器用的都是最新版本pl/sql

追答

你的版本是多少

追问

11.0.6

追答

这就不应该了
第一张图是有问题的,第二张图是正常的?
第一检查数据库连接是否断开,第二查询的是否不是表,是视图或者同义词

select * from ALL_OBJECTS where OBJECT_NAME ='BDCDJ_DJJLB';

追问

没有断开,也肯定是表。

追答

看下是不是当前用户的表

按照这个语句查询结果是什么

参考技术C 同样的问题,楼主解决了吗?指导下!!! 参考技术D 检查下权限,或换一个工具,Navicat Premium这个工具不错

如何配置pl/sql 连接远程oracle服务器

在下边的两种情况下,如何配置pl/sql 连接远程oracle服务器
1)在客户端不装oracle 客户端也不装服务器,能否配置pl/sql 连接远程oracle服务器,如何配置,请给出详细的文档说明,谢谢
2)在客户端安装了oracle的客户端,,能否配置pl/sql 连接远程oracle服务器,如何配置,请给出详细的文档说明,谢谢

1、找到PL/SQL Developer程序的启动快捷方式。

2、我们双击桌面快捷方式,出现界面的对话框。

3、安装oracle client之后,我们到oracle client的安装目录下,进入到network/ADMIN目录下,看到有个tnsnames.ora文件。

4、打开这个文件进行编辑。

5、编辑完这个文件后保存,我们再次双击PL/SQL Developer程序,我们看到我们这个时候可以选择database。

6、确定之后,返回了一个对话框,ORA-12541。这个表示oracle服务器上没有打开监听。

7、我们连接到这台服务器上,切换到oracle用户,使用下面命令查看下监听状态。

8、我们在使用如下图所示打开监听。

9、打开监听后,我们在返回本地机器,再次启动填写信息后,点击确定进行连接。如果连接成功的话,会出现如下图所示。

参考技术A

前提是电脑必须安装oracle客户端。

配置方法:

1、找到oracle的安装目录。如:C:\\oracle\\product\\10.2.0\\db_1\\network\\ADMIN

2、找到tnsnames.ora文件。

3、用文本方式打开,添加以下内容:

本地实例名 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 远程服务器端口号))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = 远程数据库服务名)
    )
  )

其中中文部分是需要修改的部分,除第一个“本地实例名”外,其他需要跟远程数据库管理员咨询,本地实例名就是方便自己识别数据库的一个名字,可以自定义。

4、然后打开pl/sql就能看到自己创建的链接,如图:

参考技术B (一)不安装客户端的解决办法。
第一种方法:
1、在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll (可能服务器没有,如果没有则pl sql 随便用户名密码可以登陆)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%\network\admin下)放在上面的目录D:\oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
4、设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)
(本步骤暂时要做对,如果编码不对,会产生乱码)
5、下载并安装PL.SQL.Developer配置应用
配置tools->preferences->connection
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
6、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。

第二种方法:
1。首先去oracle的官方下载客户端的压缩包,地址是:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,选择机器的操作系统后选择oracle对应的版本的base那个压缩包下载。
2。将下载后的压缩包解压到相应的目录,比如 D:\worksoftware\instantclient_10_2下;
3。在这个目录下建立NETWORD目录,再在NETWORK目录下建立ADMIN目录,如D:\worksoftware\instantclient_10_2\NETWORK\ADMIN;
4。在第二步所建立的目录下新建一个tnsnames.ora文件,当然也可以从服务器上copy这个文件,文件的内容如下
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)

例如我的就是
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
5。打开PL SQL DEVELOPER 工具,点击tools-》preferences在右侧的oracle home里填上客户端的home,如D:\worksoftware\instantclient_10_2;在OCI Library里填上oci.dll路径,如D:\worksoftware\instantclient_10_2\oci.dll;
6。配置环境变量nls_lang 变量值是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK这个东西主要是解决中文问题的。
7。ok配置完毕,应该是可以的啦,最好在启动之前先ping下远程的服务器,通了就应该可以连接上了
我的配置,其中BOC_TEST_91等为连接字符串
BOC_TEST_91 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.29.91)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bot)
)
)
BOC_TEST_68 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.19.68)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bot)
)
)
BOC_PRO_56 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.11.56)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = bop)
)
)

(二)安装客户端的解决办法
一、配置oracle服务器的监听器listener
修改<安装目录>/network/admin/目录下的listener.ora和tnsnames.ora两个文件。其中
listener文件大致如下:
# listener.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = demo1) #demo1为oracle实例名
(ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
(SID_NAME = demo1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址为oracle服务器
)
)
tnsnames.ora文件大致修改如下:
# tnsnames.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEMO1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址为oracle服务器
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DEMO1) #demo1为oracle实例名,或者服务名称此名称可通过netmgr或netca修改
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
以上修改也可通过图形界面的netmgr和netca进行配置。修改之后,重启监听器
二、下载安装oracle客户端。
在安装pl/sql developer的本地机器上必须安装oracle客户端(此处指针对oracle 10g版本,有说也可只安装相关驱动如oci驱动,具体不详。并且客户端不一定为10g版本,8i,9i皆可)。
1.从官网上下载绿色版本的客户端,地址如下(或有改变):
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
下载需要oracle用户,可免费注册
2.绿色版无需安装,将此下载解压至某处,并在其下建立一network目录,目录下再建admin目录,结构如下
<客户端目录>/network/admin,在admin目录中建立tnsnames.ora文件,内容大致如下:
demo1 = #oracle服务名
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #oracle服务器地址与端口
)
(CONNECT_DATA =
(SERVICE_NAME = demo1)
)
)
三、在PL/SQL developer中配置客户端信息。
打开PL/SQL developer,暂不登录,选择菜单tools->preferences->connection,设置如下两项:
Oracle Home: D:\Program Files\instantclient_11_1 #客户端解压目录
OCI library: D:\Program Files\instantclient_11_1\oci.dll #oci库文件路径,oci.dll应该在客户端目录下。

保存,重启PL/SQL developer,些时应可看到登录框中Database下拉选项里有你刚刚配置的远程服务器上的服务实例demo1了。本回答被提问者采纳
参考技术C 第一个:
不能。
  第二个:
1、选择oracle客户端中的Net Configuration Assistant 。
2、选择“本地Net服务名配置”后单击“下一步”。
3、选择“添加”后单击“下一步”。
4、输入你要连接的数据库服务名后单击“下一步”。
5、选中“tcp”后单击“下一步”。
6、在主机名中输入你的数据库服务器的主机名,或者IP地址;如果你的数据库是默认安装的可以单击“下一步”。
7、以下的都默认下一步就可以了。直到完成。

然后用pl/sql登录数据库就可以了。
参考技术D 第一种情况基本上是不可能的,连接远程服务器得用到oracle命令。你啥都不装去哪用?第二种情况可以连接,先配置监听,填好服务器IP地址和端口,然后从客户端通过sqlplus执行
conn 用户名/密码@远程IP:端口/数据库SID 就行了。服务器监听得开启。

以上是关于pl/sql连接oracle数据库tables里面不显示表。的主要内容,如果未能解决你的问题,请参考以下文章

oracle pl/sql 编程啥工具好用

PL/SQL连接oracle提示无监听程序

PL/sql连接Oracle时不能显示默认数据库orcl,

oracle 10g R2数据库,用pl/sql developer 删除数据时,执行DELETE FROM TABLE1后就一直停在执行的状态,

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

pl/sql连接Oracle不管执行啥语句都会重复执行这条语句,永不停止,怎么办呀