我用sql2000的驱动连接2005的数据库(2005的驱动连不上)
如果在ConnDB.java中我用这句stmt =conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
就会报一个sql的bug(微软说2006年把2000的驱动做了下修正,但我找不到06年那个驱动)
如果我直接用stmt = conn.createStatement();
那些DAO类中就无法使用rs.last()等方法怎么办,谁有06年的那个驱动,我找到的都是02或04年的
如果在ConnDB.java中我用这句stmt =conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
就会报一个sql的bug(微软说2006年把2000的驱动做了下修正,但我找不到06年那个驱动)
如果我直接用stmt = conn.createStatement();
那些DAO类中就无法使用rs.last()等方法怎么办,谁有06年的那个驱动,我找到的都是02或04年的
解决方案 »
- 求解一个java问题~~~~~~~~~~
- struts2返回结果用window.open()打开?
- 使用hibernate时报错,一直不知道是什么原因
- 我用中华电通的网络,自己用无线路由,我用eclipse+tomcat+mysql写好的网站想发布到外网
- SOS,jsp高手进来看看,帮帮小弟,jsp+db2出现异常错误!!怎么改都没找到问题根源!!
- Tomcat启动后为什么又自动关闭了!(急)
- 求救:页面计数器(重分100)
- iis怎么才能用servlet?
- 关于用jsp/servlet作企业平台集成,单点登陆方案的讨论
- servlet调用问题
- 求好心人给我下载,我积分为0,急需下载个API
- 怎么在有人访问我的网站的时候,记录下来总的访问人数,并在网页中显示出来???哪种方式最省时???
<property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=xxx"/>
driverClassName url都在。你看这配就行了呀。
我有这个版本和jdbc的详细连接配置,需要的话,找我要
我都试了好几个了.
SQL Server JDBC Driver 3.0这个也不行就用2000的包能连上,但用不了rs.last()等方法.....???
我不知道是2005哪个版本的 ,怎么看,关于里看不到.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;import COM.ENTITY.UserInfo;/**
*
* 项目名称: JSP_JDBC 类名称: DBOperation 类描述:
*
* @author LiuKun Jul 16, 2010 5:01:44 PM 修改时间 Jul 16, 2010 5:01:44 PM ×
*/
public class DBOperation { private static final String dri_class = "com.microsoft.sqlserver.jdbc.SQLServerDriver",
url = "jdbc:sqlserver://localhost:1433;databasename=Test",
name = "sa", pass = "sa";
public Connection conn = null;
public PreparedStatement ps = null;
public Statement state = null;
public List list = new ArrayList(); public static Connection getConnnection() {
try {
Connection conn;
Class.forName(dri_class);
return conn = DriverManager.getConnection(url, name, pass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
} /**
* 根据sql语句获取所有信息
*
* @param sql
* @return
*/
public List getAllInfo(String sql) {
try {
conn = getConnnection();
java.sql.Statement ste = conn.createStatement();
ResultSet rs = ste.executeQuery(sql);
while (rs.next()) {
UserInfo userInfo = new UserInfo();
userInfo.setId(rs.getInt(1));
userInfo.setName(rs.getString(2));
list.add(userInfo);
System.out.println(list.size());
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
} /**
* 验证用户是否存在 可以用作ajax method
*
* @param sql
* @return
*/
public boolean checkUser(String sql) {
boolean re = false;
try {
conn = getConnnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if (rs.next())
re = true;
} catch (SQLException e) {
e.printStackTrace();
} return re;
} /**
* 添加信息
*
* @param sql
* @return
*/
public boolean addUser(String sql) {
boolean re = false;
try {
conn = getConnnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if (rs.next())
re = true;
} catch (SQLException e) {
e.printStackTrace();
} return re;
} /**
* 根据存储过程和参数列表进行查询
*
* @param proc_name
* @param obj
* @return
*/
public List findByProc(String proc_name, Object[] obj) {
int no = obj.length;
String param = "(";
for (int i = 0; i < obj.length; i++) {
if (1 == i)
param += "?";
else if (i < obj.length)
param += ",?";
}
param += ")";
String sql = "{call " + proc_name + "" + param + "}";
try {
CallableStatement call = this.getConnnection().prepareCall(sql);
ResultSet rs = call.executeQuery();
while (rs.next()) {
UserInfo userInfo = new UserInfo();
userInfo.setId(rs.getInt("id"));
userInfo.setName(rs.getString("name"));
list.add(userInfo);
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println(e.toString());
}
return list;
} /**
* 关闭连接对象
*
* @param con
* @param rs
* @param ps
* @param state
*/
public static void closedAll(Connection con, ResultSet rs,
PreparedStatement ps, java.sql.Statement state) {
try {
if (con != null) {
con.close();
con = null;
}
if (rs != null) {
rs.close();
rs = null;
}
if (state != null) {
state.close();
state = null;
}
if (ps != null) {
ps.close();
ps = null;
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println(e.toString());
}
}}
2005的用com.microsoft.sqlserver.jdbc.SQLServerDriver找了好几个jar都连部上.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1057;DatabaseName=xxx", "sa", "");
连接2000的:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=xxx", "sa", "");