atitit.客户端连接oracle数据库的方式总结
客户端连接oracle数据库的方式总结
目录
Java程序连接一般使用jar驱动连接。。
标识字符串为thin。。。也叫thin驱动。
当然也可以使用oci c类库驱动,标识字符串为oci。不过考虑到jni的调用,层次增多,不一定能提升性能。。
作者老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
桌面GUI一般采取c语言驱动oci.dll
oci是Oracle CallInterface的首字母缩写,使用OCI的驱动可以获得最好的性能,而使用java
thin驱动则可以获取最好的可移植性。
可惜的是plsql,还是toed都没有自带oci.dll。。。。只有navicate 自带了oci驱动,,实际oci.dll只有1M-2M。。
。而oci.dll可以从ora客户端提取,或者HA-Instant Client-v11.2.0.3.0-x86.rar (45M)。。
直接连接
这种方式最好,方便。。。。navicate支持,plsql 只能使用间接连接,toad也好像只能间接连接。。
普通的mysql ,mssql也都是使用直接连接方式,用户体验好。。
间接连接(需要配置tns及其envi var)
相对来说麻烦。。配置集中化管理了,客户端程序很多的情况下有用。。
JDBC驱动的4种类型
1、JDBC-ODBC bridge plus ODBCdriver: JDBC-ODBC桥驱动程序,将JDBC调用转换为ODBC的调用。( This combination provides JDBC access via ODBC drivers. ODBC binarycode--and in many cases, database client code-- must be loaded on each clientmachine that uses a JDBC-ODBC Bridge.
Sun provides a JDBC-ODBC Bridge driver,which is appropriate for experimental use and for situations in which no otherdriver is available.)注意, 必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。这种类型的驱动程序最适合于企业网(这种网络上客户 机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服5、 务器代码。
2、Native-API partly-Java driver: 将JDBC调用转换为对数据库客户端API的调用。(A native-API partly Java technology-enabled driver: This type ofdriver converts JDBC calls into calls on the client API for Oracle, Sybase,Informix, DB2, or other DBMS. Note that, like the bridge driver,
this style ofdriver requires that some binary code be loaded on each client machine.)这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调 用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。
3、 Pure Java Driver for Database Middleware: 先将JDBC调用转换为DBMS-independent网络协议,然后由服务器端的中间件转换为具体数据库服务器可以接收的网络协议。(net- protocol fully Javatechnology-enabled driver #This style of driver translates JDBC calls into themiddleware vendor's protocol, which is then translated
to a DBMS protocol by amiddleware server. The middleware provides connectivity to many differentdatabases.)这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的 JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理 Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。
4、Direct-to-Database Pure JavaDriver: 将JDBC调用直接转换为具体数据库服务器可以接收的网络协议。(native-protocol fully Javatechnology-enabled driver #This style of driver converts JDBC calls into thenetwork protocol used directly by DBMSs, allowing a direct call from the clientmachine
to the DBMS server and providing a practical solution for intranetaccess.)这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数 据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。
第3、4类驱动程序将成为从JDBC访问数据库的首选方法。第1、2类驱动程序在直接的纯Java驱动程序还没有上市前将会作为过渡方案来使用。对第1、 2类驱动程序可能会有一些变种(下表中未列出),这些变种要求有连接器,但通常这些是更加不可取的解决方案。第3、4类驱动程序提供了Java的所有优 点,包括自动安装(例如,通过使用JDBC驱动程序的applet applet来下载该驱动程序)。
参考
转 oracle的jdbc连接方式 oci和thin - phoebus0501 - 博客园.htm
atitit.客户端连接oracle数据库的方式总结的更多相关文章
- Toad客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时
Oracle 客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时 排错步骤: 1. 查看网络是否畅通: 打开cmd,ping数据库IP 2. 查看端口是否畅通: 打开cmd ...
- atitit.client连接oracle数据库的方式总结
client连接oracle数据库的方式总结 文件夹 Java程序连接一般使用jar驱动连接.. ... 桌面GUI一般採取c语言驱动oci.dll 直接连接... 间接连接(须要配置tns及其env ...
- C#中不用安装Oracle客户端连接Oracle数据库(转)
原文地址:http://www.cnblogs.com/jiangguang/archive/2013/02/19/2916882.html 0.首先,从Oracle网站上下载对应版本的Oracle ...
- 不安装oracle客户端连接oracle数据库
PLSQL Developer 或Toad 不安装Oracle 客户端连接数据库 为了简化Oracle在个人电脑的使用,避免占用不必要的资源,可以不安装Oracle客户端.方法是:使用Oracle I ...
- 配置ORACLE 客户端连接到数据库
--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...
- 远程客户端连接MysqL数据库太慢解决方案
远程客户端连接MysqL数据库太慢解决方案局域网客户端访问mysql 连接慢问题解决. cd /etc/mysql vi my.conf [mysqld] skip-name-resolve 此选项禁 ...
- phoenix客户端连接hbase数据库报错:Traceback (most recent call last): File "bin/sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse
环境描述: 操作系统版本:CentOS release 6.5 (Final) phoenix版本:phoenix-4.10.0 hbase版本:hbase-1.2.6 现象描述: 通过phoenix ...
- SQL Data Base 不装oracle客户端连接oracle服务端
SQL Data Base 不装oracle客户端连接oracle服务端 一.直连: devart 二.拷贝dll: Oracle.DataAccess.dlloci.dllociw32.dll
- 客户端连接mysql数据库反应慢
远程客户端连接MysqL数据库太慢解决方案 局域网客户端访问mysql 连接慢问题解决 编辑mysql配置文件 # vi my.conf [mysqld] skip-name-resolve 重启my ...
随机推荐
- hdu 1577 WisKey的眼神 (数学几何)
WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- haploview出现"invalid affected status"的解决方法
haploview弹出这种错误是因为haploview的缺失值默认为0,而plink文件的缺失值一般用"-9"表示,当ped文件的缺失值为"-9"时,haplo ...
- 自定义ImageView回调实现手动改变圆环大小
//-----------------自定义MyView继承Imageview------------------------------- package com.bw.yuanhuan; impo ...
- 图解——VS发布网站详细步骤
1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自 ...
- jquery中prop()与attr()方法的区别
一.prop() 简单来说是当需要判断真假时使用,如复选框时: if( $(this).prop('checked')){ //当返回true时在这里调用 }else{ //当返回false时在这里调 ...
- Entity Framework 6.0 源码解读笔记(一)
internal static TResult ExecuteSingle<TResult>(IEnumerable<TResult> query, Expression qu ...
- Win7中不能调试windows service
多年前玩过一次windows service,觉得挺简单的. 这次工作要维护产品中的windows service,发现不是那么简单,vs附加调试器的窗体中无法找到windows service进程. ...
- pycharm Cannot find declaration to goto----解决方案
系统中已经有了该类库,还是找不到类提示 close the project in intellij. close intellij. go to the project folder and dele ...
- freeCodeCamp:Return Largest Numbers in Arrays
右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组. 提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素. /*思路 for循 ...
- 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...