1.首先要去Microsoft官網(wǎng)下載sqljdbc2.0驅(qū)動(dòng)——Microsoft SQL Server JDBC Driver 2.0.exe,很小大概就4M,解壓后里面有2個(gè)Jar包,sqljdbc4.jar和sqljdbc.jar,這兩個(gè)都一樣,只是針對(duì)你的JDK的版本的不同,如果你是JDK6.0直接導(dǎo)入sqljdbc4.jar,以下版本的導(dǎo)入sqljdbc.jar,如果怕麻煩的,兩個(gè)都導(dǎo)進(jìn)去也行。
2.包導(dǎo)完了,現(xiàn)在啟動(dòng)SQL配置器,SQL2000的默認(rèn)端口是1433,所以只要開啟端口就能連得上,但08的端口據(jù)說是動(dòng)態(tài)的,具體的本人也不清楚,就是因?yàn)檫@個(gè)端口我也被整了2天,最后終于連上了。
打開配置器:
將IP ALL的TCP動(dòng)態(tài)端口(默認(rèn)1163)改為1433,不改也行,因?yàn)榇蟛糠秩说牧?xí)慣是用默認(rèn)的1433,在IP2已啟用選擇——是,確定。
同樣的方法,開啟客戶端的TCP/IP,端口也為1443,如圖:
然后在DOS命令中輸入測(cè)試 telnet 127.0.0.1 1433,
如果結(jié)果只有一個(gè)光標(biāo)在閃動(dòng),那么就說明127.0.0.1 1433端口已經(jīng)打開。
如果出現(xiàn)連接主機(jī)端口1433沒打開,久要換端口。
一ODBC建立數(shù)據(jù)源
1 利用Java應(yīng)用程序訪問SQL Server2000數(shù)據(jù)庫
(1)建立數(shù)據(jù)庫
啟動(dòng)“Microsoft SQL Server2000”,打開“企業(yè)管理器”在“數(shù)據(jù)庫”中建立名為“學(xué)生管理系統(tǒng)”的數(shù)據(jù)庫,并在其下制作名為“學(xué)生信息”的數(shù)據(jù)表,如圖1示。
(2)建立(ODBC)數(shù)據(jù)源和驅(qū)動(dòng)程序
在控制面板上通過“管理工具”的“數(shù)據(jù)源(ODBC)”打開“ODBC數(shù)據(jù)源管理器”對(duì)話框,單擊“系統(tǒng)DSN”選項(xiàng)卡,然后單擊“添加”按鈕,得到“創(chuàng)建數(shù)據(jù)源”對(duì)話框,選擇“SQL Server”并單擊“完成”按鈕,在出現(xiàn)的“建立新的數(shù)據(jù)源到SQL Server”對(duì)話框中的“數(shù)據(jù)源名稱”項(xiàng)填寫“madata”并選取“服務(wù)器名”,然后單擊“下一步”按鈕,選擇“使用網(wǎng)絡(luò)登錄ID的Windows NT驗(yàn)證”項(xiàng)目,單擊“下一步”按鈕,把默認(rèn)的數(shù)據(jù)庫改為“mydata”,再單擊“下一步”,單擊“完成”按鈕,然后可以單擊“測(cè)試數(shù)據(jù)源”,成功后,單擊“確定”按鈕,完成了(ODBC)數(shù)據(jù)源和驅(qū)動(dòng)程序的建立。
(3)編寫Java程序
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("請(qǐng)輸入名字:");
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("學(xué)號(hào)");
columName.add("姓名");
columName.add("班級(jí)");
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 學(xué)生信息");
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("數(shù)據(jù)庫加載失敗!");
}
finally
{
}
System.out.println("數(shù)據(jù)庫加載成功!");
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 - 似水流年 - 夢(mèng)里花落知多少
現(xiàn)在進(jìn)入正題
啟動(dòng)MyEclipse 8.5——?jiǎng)?chuàng)建JAVA項(xiàng)目——記住導(dǎo)入sqljdbc4.jar
代碼如下
我們用SQL驗(yàn)證的sa登錄(前提要打開混合模式登錄這里不在贅述)
import java.sql.*;
public class javaConSQL
{
public static void main(String[] args)
{
String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL數(shù)據(jù)庫引擎
String connectDB="jdbc:sqlserver://...:;DatabaseName=Mydb";//數(shù)據(jù)源
try
{
Class.forName(JDriver);//加載數(shù)據(jù)庫引擎,返回給定字符串名的類
}catch(ClassNotFoundException e)
{
//e.printStackTrace();
System.out.println("加載數(shù)據(jù)庫引擎失敗");
System.exit();
}
System.out.println("數(shù)據(jù)庫驅(qū)動(dòng)成功");
try
{
String user="sa";
String password="sql";
Connection con=DriverManager.getConnection(connectDB,user,password);//連接數(shù)據(jù)庫對(duì)象
System.out.println("連接數(shù)據(jù)庫成功");
Statement stmt=con.createStatement();//創(chuàng)建SQL命令對(duì)象
//創(chuàng)建表
System.out.println("開始創(chuàng)建表");
String query="create table TABLE(ID NCHAR(),NAME NCHAR())";//創(chuàng)建表SQL語句
stmt.executeUpdate(query);//執(zhí)行SQL命令對(duì)象
System.out.println("表創(chuàng)建成功");
//輸入數(shù)據(jù)
System.out.println("開始插入數(shù)據(jù)");
String a="INSERT INTO TABLE VALUES('','旭哥')";//插入數(shù)據(jù)SQL語句
String a="INSERT INTO TABLE VALUES('','偉哥')";
String a="INSERT INTO TABLE VALUES('','張哥')";
stmt.executeUpdate(a);//執(zhí)行SQL命令對(duì)象
stmt.executeUpdate(a);
stmt.executeUpdate(a);
System.out.println("插入數(shù)據(jù)成功");
//讀取數(shù)據(jù)
System.out.println("開始讀取數(shù)據(jù)");
ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE");//返回SQL語句查詢結(jié)果集(集合)
//循環(huán)輸出每一條記錄
while(rs.next())
{
//輸出每個(gè)字段
System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME"));
}
System.out.println("讀取完畢");
//關(guān)閉連接
stmt.close();//關(guān)閉命令對(duì)象連接
con.close();//關(guān)閉數(shù)據(jù)庫連接
}
catch(SQLException e)
{
e.printStackTrace();
//System.out.println("數(shù)據(jù)庫連接錯(cuò)誤");
System.exit();
}
}
}
MyEclipse8.5 運(yùn)行結(jié)果:
打開SQL2008企業(yè)管理器
執(zhí)行SQL語句
USE Mydb
GO
SELECT * FROM TABLE1
結(jié)果為:
說明已經(jīng)成功連接SQL,并在數(shù)據(jù)庫Mydb創(chuàng)建表TABLE1
謝謝!有哪里不正確的地方,去哪個(gè)讀者指出,互相學(xué)習(xí)
您可能感興趣的文章:- Java連接sqlserver2008數(shù)據(jù)庫代碼
- java連接mysql數(shù)據(jù)庫 java連接sql server數(shù)據(jù)庫
- JAVA使用JDBC技術(shù)操作SqlServer數(shù)據(jù)庫實(shí)例代碼
- Windows系統(tǒng)下Java連接SQL Server的方法簡介
- Java中調(diào)用SQL Server存儲(chǔ)過程詳解
- 用Java連接sqlserver數(shù)據(jù)庫時(shí)候幾個(gè)jar包的區(qū)別分析
- java連接sql server 2008數(shù)據(jù)庫代碼
- java sqlserver text 類型字段讀取方法
- Java 實(shí)現(xiàn)連接sql server 2000
- java連接SQL Server數(shù)據(jù)庫的方法