class12.jar文件。
由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,无需安装Oracle客户端,只需要下载一个thin驱动的jar包,并且将环境变量中的CLASS_PATH变量中加入thin驱动的路径就可以了。
Thin驱动虽然与平台无关,也无需安装Oracle客户端,但是有一个致命的缺陷就是性能一般,达不到如OCI方式的企业级的要求。另外,如果一个oracle数据库对应一台主机,可以使用thin连接;如果一个oracle数据库对应四五台主机(集群服务器)。
使用thin时,需要把tnsnames.ora文件中的相关数据库的整个连接字符串都拷贝下来,如此才能连接上oracle集群数据库。
使用OCI连接数据库是企业级的做法,适应于单个数据库和集群数据库,性能优越,尤其是连接池功能大大提高了应用程序的性能和并发量。唯一的缺点是,若想使用OCI必须要安装Oracle客户端。
这个是完全没有问题的。先期准备:
1、两台电脑必须要联网,能够访问到
2、将oracle的驱动程序拷贝到你的java的电脑上,并设置到环境变量中。
java代码
import java.sql.Connection
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
public class DbTest {
public static void main(String[] args) {
Connection conn = null
PreparedStatement prstm = null
ResultSet rs = null
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()
String url="jdbc:oracle:thin:@ip:port:orcl" //数据库连接字符串,需要替换ip,port,orcl
String user="user" //用户名,需要替换你的数据库的用户名
String password="pswd" //密码,需要替换为对应的密码
conn = DriverManager.getConnection(url,user,password) //获取连接
prstm = conn.prepareStatement("SELECT 1 TEST_ID FROM DUAL")
rs = prstm.executeQuery()
while (rs.next()) {
System.out.println("查询结果为:" + rs.getInt("TEST_ID"))
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} finally {
//使用完毕进行相关内容的关闭,注意相关顺序
if (rs != null) {
try {
rs.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
if (prstm != null) {
try {
prstm.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
if (conn != null) {
try {
conn.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)