2 robert luos robert_luos 于 2016.03.22 11:27 提问

java连接SQL server2008报错,请大神指点

代码:import java.sql.*;

public class SQL {
static Connection con;
static Statement sql;
static ResultSet res;

public Connection getConnection(){
    try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        System.out.println("数据库驱动加载成功");
    }catch(Exception e){
        e.printStackTrace();
    }
    try{
        con=DriverManager.getConnection("jdbc:odbc:DemoDB", "sa", "3344521as");
        System.out.println("数据库连接成功");
    }catch(Exception e){
        e.printStackTrace();
    }
    return con;
}
public static void main(String[] args){
    SQL c=new SQL();
    c.getConnection();
    try{
        sql=con.createStatement();
        res=sql.executeQuery("select * from CommodityInfo");
        while(res.next()){
            float price=res.getFloat("InPrice");
            String name=res.getString("CommodityName");
            int amount=res.getInt("Amount");
            System.out.println("价格:"+price);
            System.out.println("商品名称:"+name);
            System.out.println("总数量:"+amount);
        }
    }catch(Exception e){
        e.printStackTrace();
    }
}

}
代码报错如下:
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3117)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:252)
at SQL.main(SQL.java:28)

我在用JDBC-ODBC桥梁连接数据库是发生以上报错,初学java不久不知道怎么解决?请大神们帮忙指点一下,谢谢!

4个回答

silentwolfyh
silentwolfyh   2016.03.22 22:23

http://blog.csdn.net/silentwolfyh/article/details/48103453
按照我的来,代码和驱动包都有。

zhaihonghonghzh
zhaihonghonghzh   2016.03.22 14:33

你先测试下数据库连接是否能成功? 错误能截全点吗?

haikuokuangtu
haikuokuangtu   2016.03.22 15:09

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;database\=house_db
你把Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") =driver和jdbc:odbc:DemoDB=url改成上面的这种database后面是你的数据库名称

a77712345
a77712345   2016.03.25 11:10

Class<?> theClass = Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
if (MyInterface.class.isAssignableFrom(theClass)) {
System.out.println("加载成功否则失败");
}
URL = "jdbc:sqlserver://localhost:1433;databaseName=DemoDB";

con=DriverManager.getConnection(URL, "sa", "3344521as");
如果在此出错的话你看报错行在什么哪里。
at SQL.main(SQL.java:28) 列如这里 应该就能看懂大概在哪里出错

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!