JAVA中如何通过JDBC-ODBC桥来连接SQLServer数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中如何通过JDBC-ODBC桥来连接SQLServer数据库相关的知识,希望对你有一定的参考价值。
如何通过JDBC-ODBC桥来连接SQLServer? 连接代码应该怎么写?
参考技术A 用JDBC-ODBC桥来连接SQLServer比较简单,代码如下:public void class
Connection con;
Statement st;
Resultset rs;
int count;
try
Class.forname("sun.jdbc.odbc.jdbcodbcDriver");
con=DriverManger("jdbc:odbc:conndb","sa","pwd");
//conndb是你的数据库名称,sa 是数据库登陆用户名,pwd是登陆密码
st=con.createStatement;
catch(exception e)
System.out.println(e);
public ResultSet select(String sql)
rs=st.excuteQuery(sql);
//这个方法用于在数据库中进行查询,里面要加trycatch()
public int update(String sql)
count=st.excuteUpdate(sql);
//这个方法用于在数据库中进行增、删、改
本回答被提问者采纳
各类数据库的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
以上是关于JAVA中如何通过JDBC-ODBC桥来连接SQLServer数据库的主要内容,如果未能解决你的问题,请参考以下文章