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数据库
(1)建立数据库
启动“Microsoft SQL Server2000”,打开“企业管理器”在“数据库”中建立名为“学生管理系统”的数据库,并在其下制作名为“学生信息”的数据表,如图1示。
(2)建立(ODBC)数据源和驱动程序
在控制面板上通过“管理工具”的“数据源(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“SQL Server”并单击“完成”按钮,在出现的“建立新的数据源到SQL Server”对话框中的“数据源名称”项填写“madata”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录ID的Windows NT验证”项目,单击“下一步”按钮,把默认的数据库改为“mydata”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序的建立。
(3)编写Java程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
package com.test1; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import 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( "数据库加载失败!" ); } finally { } System.out.println( "数据库加载成功!" ); 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 .setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this .setVisible( true ); } } |
注意其中要引入jar包sqljdbc 2.0
JAVA连接SQL2008 - 似水流年 - 梦里花落知多少
现在进入正题
启动MyEclipse 8.5——创建JAVA项目——记住导入sqljdbc4.jar
代码如下
我们用SQL验证的sa登录(前提要打开混合模式登录这里不在赘述)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
import java.sql.*; public class javaConSQL { public static void main(String[] args) { String JDriver= "com.microsoft.sqlserver.jdbc.SQLServerDriver" ; //SQL数据库引擎 String connectDB= "jdbc:sqlserver://...:;DatabaseName=Mydb" ;//数据源 try { Class.forName(JDriver); //加载数据库引擎,返回给定字符串名的类 } catch (ClassNotFoundException e) { //e.printStackTrace(); System.out.println( "加载数据库引擎失败" ); System.exit(); } System.out.println( "数据库驱动成功" ); try { String user= "sa" ; String password= "sql" ; Connection con=DriverManager.getConnection(connectDB,user,password); //连接数据库对象 System.out.println( "连接数据库成功" ); 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(); //关闭数据库连接 } catch (SQLException e) { e.printStackTrace(); //System.out.println("数据库连接错误"); System.exit(); } } } |
MyEclipse8.5 运行结果:
打开SQL2008企业管理器
执行SQL语句
1
2
3
|
USE Mydb GO SELECT * FROM TABLE1 |
结果为:
说明已经成功连接SQL,并在数据库Mydb创建表TABLE1
谢谢!有哪里不正确的地方,去哪个读者指出,互相学习