1.
在Oracle中,Connection是如何实现的呢?从底层的角度分析,我想连接Oracle数据时,肯定调用了某些C代码,用纯JAVA好像是不能实现的,在Oracle的class12.jar中吗?在这个jar中好像没有有迹象。在MS SQL SERVER驱动时,有一个.exe文件,我相信那个是实现了驱动的,有一些.dll文件,但oracle似乎没有。2.关于实现Statement、ResultSet等接口的问题,Oracle在哪里实现的?怎样实现才能使ResultSet的getString等方法可用呢?今天看了一下Oracle的JDBC驱动,有些疑问。
在Oracle中,Connection是如何实现的呢?从底层的角度分析,我想连接Oracle数据时,肯定调用了某些C代码,用纯JAVA好像是不能实现的,在Oracle的class12.jar中吗?在这个jar中好像没有有迹象。在MS SQL SERVER驱动时,有一个.exe文件,我相信那个是实现了驱动的,有一些.dll文件,但oracle似乎没有。2.关于实现Statement、ResultSet等接口的问题,Oracle在哪里实现的?怎样实现才能使ResultSet的getString等方法可用呢?今天看了一下Oracle的JDBC驱动,有些疑问。
Oracle的驱动是纯java的实现,你不需要装任何oracle的客户端,dll之类的东西。
里头的ConnectionXxxxx类实现了java.sql.Connection接口,而实际是用socket来实现通讯的。oracle 的jdbc客户端代码没看过,但是看过postgre的jdbc,是纯java代码。去看看postgre的开发文档就差不多知道了。