1.首先要去Microsoft官网下载sqljdbc2.0驱动——Microsoft sql Server JDBC Driver 2.0.exe,很小大概就4M,解压后里面有2个Jar包,sqljdbc4.jar和sqljdbc.jar,这两个都一样,只是针对你的JDK的版本的不同,如果你是JDK6.0直接导入sqljdbc4.jar,以下版本的导入sqljdbc.jar,如果怕麻烦的,两个都导进去也行。
2.包导完了,现在启动sql配置器,sql2000的默认端口是1433,所以只要开启端口就能连得上,但08的端口据说是动态的,具体的本人也不清楚,就是因为这个端口我也被整了2天,最后终于连上了。
打开配置器:
将IP ALL的TCP动态端口(默认1163)改为1433,不改也行,因为大部分人的习惯是用默认的1433,在IP2已启用选择——是,确定。
同样的方法,开启客户端的TCP/IP,端口也为1443,如图:
然后在DOS命令中输入测试 telnet 127.0.0.1 1433,
如果结果只有一个光标在闪动,那么就说明127.0.0.1 1433端口已经打开。
如果出现连接主机端口1433没打开,久要换端口。
一ODBC建立数据源
1 利用Java应用程序访问sql Server2000@R_301_457@
(1)建立@R_301_457@
启动“Microsoft sql Server2000”,打开“企业管理器”在“@R_301_457@”中建立名为“学生管理系统”的@R_301_457@,并在其下制作名为“学生信息”的数据表,如图1示。
(2)建立(ODBC)数据源和驱动程序
在控制面板上通过“管理工具”的“数据源(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“sql Server”并单击“完成”按钮,在出现的“建立新的数据源到sql Server”对话框中的“数据源名称”项填写“madata”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录ID的Windows NT验证”项目,单击“下一步”按钮,把默认的@R_301_457@改为“mydata”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序的建立。
(3)编写Java程序
sql.*;
public class Test extends JFrame{
JPanel jp1,jp2;
JLabel jl1;
JButton jb1,jb2,jb3,jb4;
JTable jt=null;
JScrollPane jsp=null;
JTextField jtf;
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
Vector rowData,columName;
public static void main(String args[])
{
Test test=new Test();
}
public Test()
{
jp1=new JPanel();
jl1=new JLabel("请输入名字:");
jtf=new JTextField(10);
jb1=new JButton("
查询:");
jp1.add(jl1);
jp1.add(jtf);
jp1.add(jb1);
jp2=new JPanel();
jb2=new JButton("
添加:");
jb3=new JButton("
修改:");
jb4=new JButton("
删除:");
jp2.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
columName = new Vector();
columName.add("学号");
columName.add("姓名");
columName.add("班级");
columName.add("系别");
columName.add("年龄");
columName.add("性别");
columName.add("籍贯");
rowData =new Vector();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:mydata");
ps=ct.prepareStatement("select *from 学生信息");
rs=ps.executeQuery();
while(rs.next())
{
Vector hang=new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getString(4));
hang.add(rs.getInt(5));
hang.add(rs.getString(6));
hang.add(rs.getString(7));
rowData.add(hang);
}
}
catch(Exception e)
{
System.out.println("@R_
301_457@加载失败!");
}
finally
{
}
System.out.println("@R_
301_457@加载成功!");
jt=new JTable(rowData,columName);
jsp=new JScrollPane(jt);
this.add(jp1,"North");
this.add(jsp);
this.add(jp2,"South");
this.setSize(400,300);
this.setDefaultClo
SEOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
注意其中要引入jar包sqljdbc 2.0
JAVA连接sql2008 - 似水流年 - 梦里花落知多少
现在进入正题
启动MyEclipse 8.5——创建JAVA项目——记住导入sqljdbc4.jar
代码如下
我们用sql验证的sa登录(前提要打开混合模式登录这里不在赘述)
sql.*;
public class javaCon
sql
{
public static void main(String[] args)
{
String JDriver="com.microsoft.
sqlserver.jdbc.
sqlServerDriver";//
sql@R_
301_457@引擎
String connectDB="jdbc:
sqlserver://...:;DatabaseName=Mydb";//数据源
try
{
Class.forName(JDriver);//加载@R_
301_457@引擎,返回给定字符串名的类
}catch(ClassNotFoundException e)
{
//e.printStackTrace();
System.out.println("加载@R_
301_457@引擎失败");
System.exit();
}
System.out.println("@R_
301_457@驱动成功");
try
{
String user="sa";
String password="
sql";
Connection con=DriverManager.getConnection(connectDB,user,password);//连接@R_
301_457@对象
System.out.println("连接@R_
301_457@成功");
Statement stmt=con.createStatement();//创建
sql命令对象
//创建表
System.out.println("开始创建表");
String query="create table TABLE(ID NCHAR(),NAME NCHAR())";//创建表
sql语句
stmt.executeUpdate(query);//执行
sql命令对象
System.out.println("表创建成功");
//输入数据
System.out.println("开始插入数据");
String a="INSERT INTO TABLE VALUES('','旭哥')";//插入数据
sql语句
String a="INSERT INTO TABLE VALUES('','伟哥')";
String a="INSERT INTO TABLE VALUES('','张哥')";
stmt.executeUpdate(a);//执行
sql命令对象
stmt.executeUpdate(a);
stmt.executeUpdate(a);
System.out.println("插入数据成功");
//读取数据
System.out.println("开始读取数据");
ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE");//返回
sql语句
查询结果集(集合)
//循环
输出每一条记录
while(rs.next())
{
//
输出每个字段
System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME"));
}
System.out.println("读取完毕");
//
关闭连接
stmt.close();//
关闭命令对象连接
con.close();//
关闭@R_
301_457@连接
}
catch(
sqlException e)
{
e.printStackTrace();
//System.out.println("@R_
301_457@连接
错误");
System.exit();
}
}
}
MyEclipse8.5 运行结果:
打开sql2008企业管理器
执行sql语句
sql;">
USE Mydb
GO
SELECT * FROM TABLE1
结果为:
说明已经成功连接sql,并在@R_301_457@Mydb创建表TABLE1
谢谢!有哪里不正确的地方,去哪个读者指出,互相学习