oracle 12c jdbc连接pdb报错的问题

有同学发来消息说,oracle数据库使用jdbc连接会后报ora-12505错误。


下意识地回复说查看jdbc连接串中的数据库sid/服务名是否写错了。

对方反馈说没错。然后让他以下面的方式连接是可以正常连接的:

sqlplus scott/[email protected]:1521/pdborcl

然后让他把jdbc的格式改成如下所示后连接成功!

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/pdborcl","scott","tiger");

  

因为":"后表示接的是SID,而"/"后表示接的是service_name。而使用SID连接的方式在12C已经过时。

时间: 2024-09-29 22:36:04

oracle 12c jdbc连接pdb报错的问题的相关文章

jdbc连接sqlserver报错java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

使用2008的数据库, 我已经引入的sqljdbc4的包,单还是报这个错,很奇怪突然想到在配置hibernate的时候,是拷贝下来的代码 然后到网上查了下, 因为是2008的版本驱动和2000的有点不同, 之前的都是可能是2000或者2005的class是com.microsoft.jdbc.sqlserver.SQLServerDriver 可是2008  去是com.microsoft.sqlserver.jdbc.SQLServerDriver 就这么改过来就可以了 jdbc连接sqlse

jdbc连接mysql报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'é?‘å?‰æ—­' in 'field list'

解决了中文显示乱码问题之后,又出现了这么一个问题, 思考一下,这绝对是输入文本的问题. 试了一下,果然不出所料. 再次怀疑编码,没有办法, 只有很无奈地去百度了,结果是与编码没有问题啊. sql.execute("insert into reader values('"+rn+"','"+pid+"','"+tele+"','"+kno+"')"); 原来报错是因为我没写单引号,mysql当然不认识啊.OK

oracle 12c启动监听报错协议适配器错误

我遇到此类问题,一般是右键计算机-管理-服务,找到OracleOraDB12Home1TNSListener设为自动启动,并重启,当然这种操作你要确定监听文件什么的都已经检查无问题哦.

java连接sqlserver2008报错 java.sql.SQLException: 对象名 '表名' 无效.

注意:c3p0的数据库配置方式为: <named-config name="sqlsvr"> <property name="driverClass">net.sourceforge.jtds.jdbc.Driver</property> <property name="jdbcUrl">jdbc:jtds:sqlserver://localhost:1433/WaterNet_DaFeng<

连接mysql报错java.sql.SQLException: The server time zone value &#39;?й???????&#39; is unrecognized...解决方法

报错内容: java.sql.SQLException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time

用Navicat for mysql连接mysql报错1251-解决办法

今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 试了很多种方法,终于找到一种可以实现的: 更改加密方式 1.先通过命令行进入mysql的root账户: 1 PS C:\Windows\system32> mysql -uroot -p 再输入root的密码: 1 2 3 4 5 6 7 8 9 10 Enter password: ****** Welcome to the MySQL m

连接mysql报错:error 2003 (hy000):can&#39;t connect to mysql server on &#39;localhost&#39; (10061)

一.mysql 的bin目录下有个MySQLInstanceConfig.exe,运行就可以进行创建数据库实例,创建实例时也可以生成windows 服务,把服务设置成自动启动就可以了 二.安装在D盘的discuzz!打开后出现上述错误,请问应如何处理?winmysqladmin已经启动,但三色树上有一个小红点如果出现"ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)",说明你的MySQL还没有启动.解决办法

PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can&#39;t connect to local MySQL server through socket &#39;MySQL&#39; (2)

如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2) 测试代码如下: <?php try { $dsn = 'mysql:dbname=php-note;host=localhost;port=3306;charset=utf8'; $username = 'root'; $password = 'root'; new PDO( $dsn,

oracle的jdbc连接

原本一直在用mysql,最近改用oracle了,oracle的第一步就是jdbc的连接 第一步:下载jar包,我用的是oracle11g 下的是oracle6.jar 第二步:加载jar包 然后找到下载的jar位置即可. 第三步:代码部分 package com.lc.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql