`

PL/SQL连接数据库成功,JDBC却不行

 
阅读更多

       搞了半下午的问题终于突破了。

       用JAVA的JDBC连接ORACLE数据库,始终建立不了连接,驱动、用户名、密码都没问题。而奇怪的是用PL/SQL能连接上,查监听也没问题。但也应该不是JAVA的问题,第一:JAVA就是一个连接数据库,没有什么高深的技术,很简单的连接;第二:当前这程序在公司及在上一家客户那都能正常运行,且用的好好的,从来都没这方面的问题;第三:现在有些数据库连接不上,但有些数据库却能连接成功。
      最后发现是URL的问题,我的url是这样的jdbc.url=jdbc:oracle:thin:@192.8.190.1:1521:sznspos。注意这个sznspos,它是一个数据库名,问题也就出在这里。以前不知道,以为这是没问题的。其实不然,对于jdbc来说,这里不应该是数据库名,而应该是数据库的sid_name。对于PLSQL和SQLPlus来说,则只要是数据库名就好。大概以前的sid_name和数据库名一样,而没有注意到。于是,错误写法导致了如下错误:

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
192.8.190.1:1521:sznspos

修正后的url应该是jdbc:oracle:thin:@192.8.190.1:1521:sznspdb,这个sznspdb是数据库的sid_name,链接成功。


附:

查询当前数据库名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件

 

查询当前数据库实例名(sid_name)
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询

 

查询数据库域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在参数文件中查询

 

查询数据库服务名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在参数文件中查询

分享到:
评论

相关推荐

    Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案

    具体介绍了Java消息处理和图像生成工具,协同使用PL/SQL和Java的方法,操作系统资源的使用,优化Java应用程序的性能,SQL在PL/SQL和Java中的执行基准,Oracle JDBC和 SQLJ等内容。给PL/SQL程序员提供了Java教程。...

    PL/SQL 基础.doc

    6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合ORACLE; 2. PL/SQL 1) PL/SQL(Procedual language/SQL)是在标准SQL的基础上增加了过程化处理的语言; 2) Oracle客户端工具访问Oracle...

    使用JDBC总结操作数据库

    //相当于我们的第三方工具pl/sql 2. 通过驱动获取连接对象Connection con=DriverManager.getConnection(“jdbc:oracle:thin:@10.1.12.138:1521:orcl","scott", "de123");//相当与通过我们的用户名和密码登陆我们的pl...

    Oracle 9i Java程序设计 使用PL SQL和Java的解决方法

    具体介绍了Java消息处理和图像生成工具,协同使用PL/SQL和Java的方法,操作系统资源的使用,优化Java应用程序的性能,SQL在PL/SQL和Java中的执行基准,Oracle JDBC和 SQLJ等内容。给PL/SQL程序员提供了Java教程。...

    Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)

    之前用PL/SQL DEVELOPER和SQLPLUS 登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does not currently know of SID given in connect descriptor

    本机不安装ORACLE直接连接服务器上的ORACLE

    机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库 1、先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html 根据你的操作系统...

    jdbc连接数据库的方式2

    三、以下列出了在使用JDBC来连接Oracle数据库时可以使用的一些技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能(系转载)。  1、在客户端软件开发中使用Thin驱动程序  在开发Java软件方面,Oracle...

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    《Oracle 从入门到精通》中的视频教程和PPT资料。 Oracle 11G从入门到精通视频的PPT 第1章-Oracle 11g数据库简介 认识Oracle 11g 回忆Oracle的产品版本 学习Oracle 11g的新特性 ...JDBC-ODBC桥连接Oracle

    JDBC 3.0数据库开发与设计

    2.1.1 SQL数据库数据库基本操作语句 2.1.2 Microsoft SQL Server数据库设计及ODBC配置 2.1.3 Oracle 数据库的基本说明及其使用简介 2.1.4 MySQL的安装及使用简介 2.2 使用JDBC连接数据库 2.2.1 SQLJ基本知识 ...

    Java数据库技术详解 DOC简版

    4.1 PL/SQL简介 4.2 PL/SQL基础 4.3 本章小结 第二篇 JDBC篇 第5章 JDBC技术基础 5.1 JDBC概述 5.2 JDBC API 5.3 JDBC操作数据库 5.4 本章小结 第6章 JDBC的高级特性 6.1 PreparedStatement预...

    DBVisualizer Pro

    DBVisualizer Pro 64位支持各种关系数据库,它可以通过JDBC驱动同时和多个不同的数据库建立连接,对管理者和...这款软件以JDBC的方式来连接数据库,因而不仅可用于操作DB2数据库,也可用来操作Oracle,SQLSERVER等。

    《SQL数据库管理工具》(Richardson Software RazorSQL)v5.1.1/含注册机

    软件简介:RazorSQL 是数据库查询工具、SQL的编辑、数据库管理工具,可以通过ODBC,JDBC连接数据库,已经证实可以使用的数据库种类,达到了29种. RazorSQL is an SQL query tool, database browser, SQL ...

    数据库原理实验指导书(06计科)(金山)(10学时)

    通过JDBC方式访问数据库 通过ODBC方式访问数据库 使用PL/SQL编写存储过程访问数据库

    dbvis_windows-x64_9_5_7_jre.exe

    dbvisualizer 64位支持各种关系数据库,它可以通过JDBC驱动同时和多个不同的数据库建立连接,对管理者和开发人员...这款软件以JDBC的方式来连接数据库,因而不仅可用于操作DB2数据库,也可用来操作Oracle,SQLSERVER等

    swing开发的数据库工具(DBAnywhere4.77),是开发mis系统的好帮手

    swing开发的数据库管理工具,支持常用的几大主流数据库,其他数据库可以自己扩展添加(只要有此数据库jdbc驱动的jar包就行),可以查看用户表(数据可导出成Excel),主键,索引,视图,触发器,存储过程等,可以生成对表增,删...

    Oracle SQL Develop简介

    SQL Developer 的到数据库的默认连接使用的是瘦 jdbc 驱动程序。默认使用 JDBC 瘦驱动程序意味着无需安装 Oracle 客户端,从而将配置和占用空间大小降至最低。SQL Developer 的安装只需进行解压和双击操作即可,简单...

    swing开发的数据库工具(DBAnywhere4.76),是开发mis系统的好帮手

    swing开发的数据库管理工具,支持常用的几大主流数据库,其他数据库可以自己扩展添加(只要有此数据库jdbc驱动的jar包就行),可以查看用户表(数据可导出成Excel),主键,索引,视图,触发器,存储过程等,可以生成对表增,删...

    DbVisualizer Pro 64位 9.0.2 绿色特别版

    这款软件以JDBC的方式来连接数据库,因而不仅可用于操作DB2数据库,也可用来操作Oracle,SQLSERVER等。 特点: DbVisualizer 9.0.2 64位 含Pro破解,集成多种JDBC驱动, 含MS sql server2012(仍显示2008),需要安装...

    Oracle Database Instant Client 11gR2

    1、您可以使用 SQL*plus 来访问数据库,但建议最好使用 PL/SQL Developer 等来访问。 2、本软件仅适用于 32 位系统,64 位请下载对应版本。 软件更新地址:http://www.hanzify.org/software/13506.html

    Oracle Database 11g完全参考手册中文版.part1

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句...

Global site tag (gtag.js) - Google Analytics