jdbc 连接数据库的thin 和oci,default方式的区别
?连接字符串比较
default:? jdbc:default:connection: ;
thin? jdbc:oracle:thin:@192.168.1.1:1521:orcl;
oci?? jdbc:oracle:oci:@ccc;
?
1)从使用上来说,oci必须在客户机上安装oracle客户端或才能连接,而thin就不需要,因此从使用上来讲thin还是更加方便,这也是thin比较常见的原因。
2)原理上来看,thin是纯java实现tcp/ip的c/s通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c library就是oci(oracle called interface),因此这个oci总是需要随着oracle客户端安装(从oracle10.1.0开始,单独提供OCI Instant Client,不用再完整的安装client)
3)它们分别是不同的驱动类别,oci是二类驱动, thin是四类驱动,但它们在功能上并无差异。
4)default方式的连接,使用情况是在用oracle 自己去调用java类时的连接方式,即java程序和oracle是用的同一个jvm的时候使用,那样将不在是一种远程调用的方式