之前连接oracle数据库总是连接不上,再三检查代码没发现问题,最后看到java.sql.SQLException: Protocol violation 感觉是jdbc jar包出了问题,于是更换了jar包,果然连接再也没报错了。这里附录网上摘抄的关于ojdbc版本的资料,有需要的小伙伴可以了解下。
classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异
在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle JDBC驱动来解决的?最常使用的ojdbc14.jar有多个版本,classes12.jar有多个版本你了解吗?
连接类型:
1、JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配置。
2、JDBC Thin: thin是for thin client的意思,这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信,是纯java实现的驱动,因此不需要在使用JDBC Thin的客户端机器上安装orcale客户端软件,所以有很好的移植性,通常用在web开发中。
随Oracle 8i发布的Oracle JDBC驱动8.1.7版本
classes111.zip 适用于JDK 1.1.x
classes12.zip 适用于JDK 1.2.x
只有zip文件,无jar文件。
随Oracle 9i发布的Oracle JDBC驱动9.2.0版本
classes111.jar 适用于JDK 1.1.x
classes12.jar 适用于JDK 1.2 and JDK 1.3 (我的项目环境JDK1.6,oracle 10g,windows,用了这个目前没发现问题)
ojdbc14.jar 适用于JDK 1.4
classes111.zip 适用于JDK 1.1.x
classes12.zip 适用于JDK 1.2.x
***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样
新特性:
1、Thin连接类型的驱动对BFILE,BLOB,CLOB 提供直接支持,以前通常是调用PL/SQL来实现。
2、支持JDBC 3.0 特性
3、ojdbc14.jar 支持JDK 1.4
4、ojdbc14.jar 支持保存点(Savepoint)
5、可以在不同的连接池中使用PreparedStatement,这是重要的性能提升
从此以后新的jar文件的命名采用 ojdbc.jar 格式 ,以前的jar文件名称不变
随Oracle 10.2发布的Oracle JDBC驱动10.2版本
classes12.jar 适用于JDK 1.2 and JDK 1.3.
ojdbc14.jar 适用于 JDK 1.4 and 5.0
***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样
特点:
1、全面支持JDK 1.5
2、支持JDBC 3.0
随Oracle 11.1发布的Oracle JDBC驱动11.1版本
ojdbc5.jar: 适用于jdk5
ojdbc6.jar: 适用于jdk6 (如果你使用jdk1.5,就不能使用这个驱动)
***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样
新特性:
1、ojdbc6.jar:支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持。
ojdbc5.jar:全面支持使用JDK5 和 JDBC 3.0 。
2、建议使用oracle.jdbc.OracleDriver类,不建议使用oracle.jdbc.driver.OracleDriver。从9.0.1开始的每个release都推荐使用oracle.jdbc。
3、j2se 1.2,1.3,1.4不再支持。11R1不再包括这些版本的jar和zip,如果仍然使用这些版本,可以继续使用10gR2的jdbc。
4、11gR1 Thin driver支持AES加密算法,SHA1 hash算法,RADIUS, KERBEROS,SSL认证机制.
5、支持ANYDATE和ANYTYPE类型。这两种类型自9i引入,11R1前,程序员只能通过PL/SQL操作。
6、高级队列支持。11R1提供了访问AQ的高性能接口。
7、支持数据库变更通知。
8、Thin和OCI的数据库启动和关闭。11R1提供了这样的方法来启动和关闭数据库。
9、新的工厂方法。Oracle JDBC 11R1 oracle.jdbc.OracleConnection提供了创建Oracle对象的工厂方法。
包括ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,TIMESTAMP,TIMESTAMP等。
总体讲新版本的JDBC驱动 性能强、很多bug被发现并已解决。
我遇到的,之前使用ojdbc14.jar(不记得哪个版本了)批量插入10万条,实际只插入了3万多条,其它的丢失了,换ojdbc6.jar后,一次commit批量插入100万条也OK了。
尽量使用和数据库版本一致的驱动,有bug时,换高版本的JDBC驱动试试 。
如果一个jdbc的jar包你不知道是那个版本的,可以解压这个jar包,再META-INF\MANIFEST.MF 文件中找”Oracle JDBC Driver version - 10.1.0.2.0”字样,就知道版本了
文章浏览阅读136次。int Sum ( int List[], int N ){ int sum=0; for(int i=0;i<N;i++){ sum+=List[i]; } return sum;}_简单求和pta
文章浏览阅读102次。现在可能有单台拥有多个CPU的计算机,但是,并发执行的进程数目并不是由CPU数目限制的。操作系统将CPU的时间片分配给每一个进程,给人并行处理的感觉。多线程程序在较低的层次上拓展了多任务的概念:一个程序同时执行多个任务。通常,每一个任务称为一个线程,它是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序。那么多进程与多线程有哪些区别呢?本质的区别在于每个进程里拥有自己的一整套变量,而线程则共享数据。共享变量使线程之间的通讯比进程之间的通讯更有效、更容易。此外,在有些操作系统中,与进程比较,线程
文章浏览阅读186次。void PrintN ( int N ){ for(int i=1;i<=N;i++){ printf("%d\n",i); }}_pta简单输出整数
文章浏览阅读3.2k次。在线Excel的前端组件、控件,实现web Excel在互联网众多领域,都有导入导出的场景;但是有些场景 是导出来 编辑 再导进去,无疑是一个很麻烦的事情,失去了互联网的价值,同时也存在性能,数据一致性的问题。所以一个线上Excel很是重要。这里推荐两个 前端技术供大家参考:SpreadJSSpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎、排序、过滤、输入控件、数据可视化、Excel 导入/导出等功能,适用于 .NET、Jav_维护更新一个excel表格的前端系统
文章浏览阅读7.2w次。startup 类的configure方法有什么作用?这个方法来定义整个应用如何响应HTTP请求。它有几个比较重要的参数,applicationbuilder,Hosting environment, logfactory, 在这里我们可以配置一些中间件用来处理路径,验证和session等等。...
文章浏览阅读191次。题目传送门感觉自己真的是越来越菜了,连数位dp都写不来了……定义f[i][j]表示当前取到第i位(从高位到低位),当前位置为j的方案数。然后就是对于是否存在前导0的分类讨论,并同时统计答案。最后利用差分的思想,把[l,r]的windy数的数量转化成[1,r]的windy数的数量减去[1,l-1]的windy数的数量即可。附上AC代码:#include #include
文章浏览阅读803次。参考网址:https://www.zhihu.com/question/36686900/answer/130890492https://www.cnblogs.com/skyfsm/p/6790245.html池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。简而言之,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。下采样层也叫池化层,其具体操作与卷积层的操作基本相同,只不过下采样的卷积核为只取对应位置的最大值、平均值等(最大池化、平均池化),即矩阵之间的运算规律_池化层用大白话怎么说
文章浏览阅读3.8w次,点赞7次,收藏30次。Java把html转成word_java html转word
文章浏览阅读1.1k次。os: centos 7.4.1708db: oracle 11.2.0.4xtts 是 tts 的加强版,主要用在表空间迁移上,限制是源端和目标端的数据库版本必须一致.V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)已经明确指出 DBMS_FILE_TRANSFER 已经不再支持。The Cross Platform Incremental _rman_xttconvert_ver4.zip
文章浏览阅读105次。 继上篇《HBase源代码分析之HRegion上MemStore的flsuh流程(一)》之后。我们继续分析下HRegion上MemStore flush的核心方法internalFlushcache()。它的主要流程如图所看到的: 当中。internalFlushcache()方法的代码例如以下:/** * Flush the mems...
文章浏览阅读1.3k次。首先WIN键+R键打开运行窗口,输入cmd打开DOS命令窗口。cd+路径:转到输入路径文件目录;dir:展示当前路径下的所有文件目录;cls:清除DOS命令窗口的所有内容;exit:退出DOS命令窗口;ipconfig:查看当前网络连接;文件名+-version:查看文件版本;搜索文件时,如果在当前路径找不到该文件,则去path配置的环境变量中查找。#盘符切换 (盘号加:)#查看当前目录下的所有文件 (dir)#切换目录 (cd change direc..._电脑命令窗口代码
文章浏览阅读1k次。1.页面延期载入图片插件【使用过】http://www.appelsiini.net/projects/lazyload滚动条滚动时才会去加载图片2.当前页面的图片展示插件http://demo.tutorialzine.com/2009/09/cool-jquery-gallery/demo.phphttp://codecanyon.net/item/jquery-light