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
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 连接数据问题的主要内容,如果未能解决你的问题,请参考以下文章