各类数据库的jdbc驱动及连接字符串总结

Posted 饿狼干爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各类数据库的jdbc驱动及连接字符串总结相关的知识,希望对你有一定的参考价值。

1、             JDBC-ODBC桥:通用驱动程序

JDBC-ODBC桥的类都被归入java.sql.*包中,在安装JDK1.1或更高版本时会自动安装。

JDBC-ODBC桥使用方便,只要能通过ODBC访问的数据库,就能通过JDBC-ODBC桥访问。但是, JDBC-ODBC桥对数据库访问的性能一般,且存在较多的兼容性问题(例如不支持同一记录指针上两次提取同一字段的内容,不支持逆序提取同一字段的内容),不推荐使用。

* ACCESS数据库用该驱动

2、  专用JDBC驱动程序的使用(各大数据库都提供了专门的驱动程序,需要单独安装)

1)        安装与配置

以sqlserver2000数据库为例

Ø         驱动安装成功后,JDBC将使用lib目录下的msbase.jar ,msutil.jar ,mssqlserver.jar 三个文件;

Ø         系统配置:

      方法一:修改CLASSPATH的路径,将上面三个文件的路径加入到classpath中。

   方法二:将msbase.jar ,msutil.jar ,mssqlserver.jar 拷贝到tomcat下的common/lib目录中(推荐) 

2)        注册驱动

在一个JDBC的驱动程序被用来建立数据库连接之前,必须向数据库驱动程序管理器注册该驱动程序(即告诉系统使用哪个驱动程序)

语法:Class.forName(“驱动程序名”);驱动程序名由驱动程序厂商制定

异常:ClassNotFoundException   说明没有找到驱动程序,检查下classpath中是否已经加入

3)        加载驱动、连接数据库

Java.sql.DriverManager:该类负责处理JDBC数据库驱动程序的加载和卸载。

DriverManager.getConnection(数据库URL,用户名,密码),返回一个Connection。每个数据库驱动的URL是不一样的。

Java.sql.Connection:该类负责建立与数据库服务器的连接

 

4)        数据库操作:查和改

(1)       利用Statement执行SQL指令,异常SQLException  

通过Connetion对象的createStatement()方法创建一个Statement对象。

Statement stmt=conn.createStatement();

Java.sql.Statement:该类可以通过Connection对象执行一条SQL语句。

(2)       利用ResultSet对象获得结果集

Java.sql.ResultSet:该类表示从数据库服务器返回的结果集。通过操作该结果集可实现对数据库的访问。

ResultSet rs=stmt.executeQuery(查询语句);

(3)       对于INSERT、UPDATE、DELETE等操作,可以使用Statement对象的executeUpdate()或execute操作。

 

例如:以SQLServer2000数据库为例,讲解数据库的注册、加载、连接、查询等操作

步骤一:注册驱动程序

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);

步骤二:加载驱动程序、连接数据库

String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Web";

String username="jiangyi";

String password="123";

Connection connWeb=DriverManager.getConnection(sConnStr,username,password);

步骤三:对数据库操作

1、利用Statement执行SQL指令,异常SQLException    

通过Connetion对象的createStatement()方法创建一个Statement对象。

Statement stmt=connWeb.createStatement();

2、  利用ResultSet对象获得结果集

String sql1="SELECT * FROM News ORDER BY NewsID DESC";

ResultSet rs=stmt.executeQuery(sql1);

对于INSERT、UPDATE、DELETE等操作,可以使用Statement对象的executeUpdate()或execute操作。

 

3、各类数据库JDBC驱动程序名及连接字符串汇总

SQL server 0.7、2000

driver="com.microsoft.jdbc.sqlserver.SQLServerDviver"

url="jdbc:microsoft:sqlserver://localhost:1433;DatebaseName=数据库名称"

url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Blog;user=sa;password=123"

 

利用jtds第三方驱动来连接sqlserver,该驱动可解决微软JDBC驱动的兼容性问题,数据顺序查询问题。

driver ="net.sourceforge.jtds.jdbc.Driver";

url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=stml_demo";

 

SQL server 2005、2008

driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";

url="jdbc:sqlserver://localhost:1433;DatabaseName=数据库名称"

url="jdbc:sqlserver://localhost:1433;DatabaseName=Blog;user=sa;password=123"

 

MySQL 5.0

driver="com.mysql.jdbc.Driver"  或 “org.gjt.mm.mysql.Driver”(不推荐使用)

url="jdbc:mysql://localhost:3306/数据库名称"

url="jdbc:mysql://localhost:3306/数据库名称?user=root&password=123";

 

Oracle8/8i/9i数据库(thin模式) Oracle10g

driver = "oracle.jdbc.driver.OracleDriver";

url = "jdbc:oracle:thin:@ localhost:1521:数据库实例";

 

其他数据库(转载自:http://blog.sina.com.cn/s/blog_5e6e077e0100don6.html

 

DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();

String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名

String user="userNm";

String password="***";

Connection conn= DriverManager.getConnection(url,user,password);

 

Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance();

String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名

Properties sysProps = System.getProperties();

SysProps.put("user","userNm");

SysProps.put("password","***");

Connection conn= DriverManager.getConnection(url, SysProps);

 

Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance();

String url =

"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

user=userNm;password=***"; //myDB为数据库名

Connection conn= DriverManager.getConnection(url);

 

PostgreSQL数据库

Class.forName("org.postgresql.Driver").newInstance(); 

String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 

String user="myuser"; 

String password="mypassword"; 

Connection conn= DriverManager.getConnection(url,user,password);

 

access数据库直连用ODBC的

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

 String url="jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ="+application.getRealPath("/Data/ReportDemo.mdb");

 Connection conn = DriverManager.getConnection(url,"","");

 Statement stmtNew=conn.createStatement() ;

 

 

各类数据库驱动的下载链接接:

jTDS:http://sourceforge.net/project/showfiles.php?group_id=33291

MySQL:http://www.mysql.com/downloads/api-jdbc-stable.html 

Oracle:http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html

Postgresql:http://jdbc.postgresql.org/download.html

以上是关于各类数据库的jdbc驱动及连接字符串总结的主要内容,如果未能解决你的问题,请参考以下文章

mysql,oracle,sqlserver使用jdbc连接数据库总结

JavaWeb —— JDBC Driver驱动及连接问题

JDBC连接数据库驱动及URL对应表

jmeter通过org.sqlite.JDBC驱动连接db数据库

JDBC(MySQL)一周学习总结

快速学会JDBC及获取连接的五种方式