纯Java代码用建立ODBC数据源的方法连接SQLServer2008,连接失败提示信息“sun.jdbc.odbc.JdbcOdbcDriver
答案:1 悬赏:30 手机版
解决时间 2021-11-15 06:36
- 提问者网友:半生酒醒
- 2021-11-14 08:22
纯Java代码用建立ODBC数据源的方法连接SQLServer2008,连接失败提示信息“sun.jdbc.odbc.JdbcOdbcDriver
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-11-14 09:51
package com.Dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
public class DbHelper {
private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL="jdbc:sqlserver://localhost;databasename=db_Blog";
private static final String UID="sa";
private static final String PWD="sasa";
public static Connection getConnection(){
Connection con=null;
try {
Class.forName(DRIVER);
con=DriverManager.getConnection(URL,UID,PWD);
System.out.println("连接数据库成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("sb");
}
return con;
}
public static void main(String []p){
getConnection();
}
public static Result runSelectSql(String sql){
Connection con=null;
PreparedStatement pst=null;
ResultSet res=null;
Result result=null;
try {
con=getConnection();
pst=con.prepareStatement(sql);
res=pst.executeQuery();
result=ResultSupport.toResult(res);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
try {
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
return result;
}
public static Result runSelectSql(String sql,Object[] params){
Connection con=null;
PreparedStatement pst=null;
ResultSet res=null;
Result result=null;
try {
con=getConnection();
pst=con.prepareStatement(sql);
for(int i=0;i pst.setObject(i+1,params[i]);
}
res=pst.executeQuery();
result=ResultSupport.toResult(res);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
try {
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
return result;
}
public static boolean runInset(String sql,Object[] params){
boolean flag=false;
Connection con=null;
PreparedStatement pst=null;
try {
con=getConnection();
pst=con.prepareStatement(sql);
for(int i=0;i pst.setObject(i+1,params[i]);
}
int a=pst.executeUpdate();
if(a>0){
flag=true;
}
else{flag=false;}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
try {
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
return flag;
}
}
这是以前我们课上写的 你看看追问我用的不是Microsoft提供的JDBC驱动,而是sun公司的ODBC数据源建立的连接,追答这样啊,这我倒是没接触过了,不过只要是链接驱动总没多大区别的,你们老师没给你们样板事例么,或者你百度下,应该可以的追问知道问题出在哪里了,是JDK版本太高的问题,jdk8的版本删除了odbc桥,所以不能使用这种方法连接数据库了,只能换低版本的,或者使用其他连接方式。不过还是谢谢你的热心回答
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
public class DbHelper {
private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL="jdbc:sqlserver://localhost;databasename=db_Blog";
private static final String UID="sa";
private static final String PWD="sasa";
public static Connection getConnection(){
Connection con=null;
try {
Class.forName(DRIVER);
con=DriverManager.getConnection(URL,UID,PWD);
System.out.println("连接数据库成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("sb");
}
return con;
}
public static void main(String []p){
getConnection();
}
public static Result runSelectSql(String sql){
Connection con=null;
PreparedStatement pst=null;
ResultSet res=null;
Result result=null;
try {
con=getConnection();
pst=con.prepareStatement(sql);
res=pst.executeQuery();
result=ResultSupport.toResult(res);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
try {
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
return result;
}
public static Result runSelectSql(String sql,Object[] params){
Connection con=null;
PreparedStatement pst=null;
ResultSet res=null;
Result result=null;
try {
con=getConnection();
pst=con.prepareStatement(sql);
for(int i=0;i
}
res=pst.executeQuery();
result=ResultSupport.toResult(res);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
try {
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
return result;
}
public static boolean runInset(String sql,Object[] params){
boolean flag=false;
Connection con=null;
PreparedStatement pst=null;
try {
con=getConnection();
pst=con.prepareStatement(sql);
for(int i=0;i
}
int a=pst.executeUpdate();
if(a>0){
flag=true;
}
else{flag=false;}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
try {
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
return flag;
}
}
这是以前我们课上写的 你看看追问我用的不是Microsoft提供的JDBC驱动,而是sun公司的ODBC数据源建立的连接,追答这样啊,这我倒是没接触过了,不过只要是链接驱动总没多大区别的,你们老师没给你们样板事例么,或者你百度下,应该可以的追问知道问题出在哪里了,是JDK版本太高的问题,jdk8的版本删除了odbc桥,所以不能使用这种方法连接数据库了,只能换低版本的,或者使用其他连接方式。不过还是谢谢你的热心回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯