JAVA数据库的访问
本人小菜,刚开始研究JAVA,遇到点了难的问题,老是想不明白,希望各位高手能指点指点,不胜感激!
程序主要功能:有一个数据库ctd;其中有一个表名为ctt;通过OBDC桥的方式登陆数据库,并在控制台输出表中的直!
其中,数据库用户名为sa;密码123456;ODBC驱动的用户名和密码为空,代码如下:
import java.sql.*;
public class QueryODBC
{
private Connection con;
public static void main(String args[])
{
QueryODBC test = new QueryODBC();
Connection con = test.getConnection();
String sql = "select * from ctt "; //查询语句
test.getctdate(con,sql);
}
//建立连接
public Connection getConnection()
{
String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ctd ";
String userName= "sa ";
String password= " ";
//Connection con = DriverManager.getConnection(url,userName,password);
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
con = DriverManager.getConnection(url,userName,password);
}
catch(
SQLException e)
{
System.out.println( "异常错误 ");
e.printStackTrace();
}
catch(
ClassNotFoundException ex)
{
System.out.println( "数据未找到 ");
ex.printStackTrace();
}
return con;
}
//建立会话
public void getctdate(Connection con,String sql)
{
try
{
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
String id =rs.getString( "客户号 ");
String name =rs.getString( "客户姓名 ");
//
System.out.println( "客户号: "+id+ "客户姓名: "+name);
}
st.close();
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
问题是不能正常建立会话,望各位高手能给予解答,跪求了!
------解决方案--------------------String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ctd ";jdbcodbc驱动的url是这样写吗?你查一下,我记不清了,我记得你的写法是sqlserver驱动的写法,不是jdbcodbc桥的写法吧
------解决方案--------------------对哦,用的是sun.jdbc.odbc.JdbcOdbcDriver驱动,结果写了个MS提供的驱动的url写法
要么换驱动类名,要么换url写法