java jdbc 连接数据问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java jdbc 连接数据问题相关的知识,希望对你有一定的参考价值。

/*
* JDBC方式操作数据库
* 1.需要引入三个jar包
*/
package com.java;
import java.sql.*;

public class Jdbc_sun

/**
* @param args
*/
public static void main(String[] args)
// TODO 自动生成方法存根
//PreparedStatement
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
try
//1.加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//2.得到链接
ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=ff ", "sa", "623669584");

//3.创建PreparedStatement
ps=ct.prepareStatement("select * from student");
//4.执行[如果是增加,删除,修改,用executeUpdate(),如果是查询用executeQuery()]
rs=ps.executeQuery();
while(rs.next())

System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));

catch(Exception e)
e.printStackTrace();
finally
try
if(rs!=null)

rs.close();

if(ps!=null)

ps.close();

if(ct!=null)

ct.close();

catch (SQLException e)
// TODO 自动生成 catch 块
e.printStackTrace();







三个jar包引入了,,也没有提示 SQLSERVER DRIVER 错误
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.java.Jdbc_sun.main(Jdbc_sun.java:23)

但出现了Error establishing socket.错误!!!
难道 ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=ff ", "sa", "623669584");
有错??
数据库是 ff 用户名和密码也没有错啊,端口也没有改啊
我安装的是SQL SERVER 2005 并且也安装补丁 还是不行啊,,
用ODBC数据源链接 又可以!!!
还是不行啊,用一个包的 报: com.microsoft.jdbc.sqlserver.SQLServerDriver错误
用三个包的 报: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
错误!!!
谁能发一下可用的 SQLSERVER 2005 的驱动包给我吗??
QQ 623669584@qq.com

报驱动有错,2005不用3个包,用一个就可以了,你上网搜一下2005驱动吧,你用的是2000的包。 参考技术A Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
参考技术B 你加载的是2000的驱动

jdbc连接数据库的代码问题jdbc连接mysql数据库

参考技术A 用这个类吧.好的话,给我加加分.
import java.sql.*;
/**
* @功能: 一个JDBC的本地化API连接类,封装了数据操作方法,只用传一个SQL语句即可
* @作者: 李开欢
* @日期: 2007/
*/
public class ConnectionDemo
/*
* 这里可以将常量全部放入另一个类中,以方便修改
*/
private static Connection conn;
private static Statement ps;
private static ResultSet rs;
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
private static final String USER ="sa";
private static final String PASS = "sa";
public ConnectionDemo()
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection();

public static Connection getConnection()
System.out.println("连接中...");
try
Class.forName(ConnectionDemo.DRIVER);
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);
System.out.println("成功连接");
catch (ClassNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();

return conn;

public static Statement getStatement(String sql)
System.out.println("执行SQL语句中...");
try
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(sql.substring(0, 6).equals("select"))
rs = ps.executeQuery(sql);
System.out.println("执行完查询操作,结果已返回ResultSet集合");
else if(sql.substring(0, 6).equals("delete"))
ps.executeUpdate(sql);
System.out.println("已执行完毕删除操作");
else if(sql.substring(0, 6).equals("insert"))
ps.executeUpdate(sql);
System.out.println("已执行完毕增加操作");
else
ps.executeUpdate(sql);
System.out.println("已执行完毕更新操作");

catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();

return ps;

public static ResultSet getResultSet()
System.out.println("查询结果为:");
return rs;

public static void closeConnection()
System.out.println("关闭连接中...");
try
if (rs != null)
rs.close();
System.out.println("已关闭ResultSet");

if (ps != null)
ps.close();
System.out.println("已关闭Statement");

if (conn != null)
conn.close();
System.out.println("已关闭Connection");

catch (Exception e)
// TODO: handle exception


public static void main(String[] args)
// TODO Auto-generated method stub
ConnectionDemo.getConnection();
String sql = "delete from type where id = 1";
ConnectionDemo.getStatement(sql);
String sql2 = "insert into type values(1,'教学设备')";
ConnectionDemo.getStatement(sql2);
String sql1 = "select * from type";
ConnectionDemo.getStatement(sql1);
ResultSet rs = ConnectionDemo.getResultSet();
System.out.println("编号 "+"类 型");
try
while(rs.next())
System.out.print(" "+rs.getInt(1)+" ");
System.out.println(rs.getString(2));

catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();

ConnectionDemo.closeConnection();

参考技术B 连接mysql的完整代码如下:

String dbURL = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";
String username = "root";
String password = "";
try
Class.forName("com.mysql.jdbc.Driver");
catch(ClassNotFoundException e)

try
conn = DriverManager.getConnection(dbURL, username, password);
String sql = "INSERT INTO goods VALUES (?, ?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "0001");
pstmt.setString(2, "苹果手机");
pstmt.setString(3, "电子类");
pstmt.setInt(4, 6800);
pstmt.setString(3, "李某某");
pstmt.executeUpdate();
catch (SQLException ex)
ex.printStackTrace();

以上是关于java jdbc 连接数据问题的主要内容,如果未能解决你的问题,请参考以下文章

Java做数据库连接池的时候加载oracle的JDBC驱动时总是提示找不到驱动类

jdbc连接数据库

Java Dao模式通过JDBC连接数据库的操作

jdbc与odbc的区别

java jdbc连接异常问题数据库

java jdbc 连接数据问题