java 連接sql server2008數(shù)據(jù)庫配置
1.首先要去Microsoft官網(wǎng)下載sqljdbc2.0驅(qū)動——Microsoft SQL Server JDBC Driver 2.0.exe,很小大概就4M,解壓后里面有2個Jar包,sqljdbc4.jar和sqljdbc.jar,這兩個都一樣,只是針對你的JDK的版本的不同,如果你是JDK6.0直接導入sqljdbc4.jar,以下版本的導入sqljdbc.jar,如果怕麻煩的,兩個都導進去也行。
2.包導完了,現(xiàn)在啟動SQL配置器,SQL2000的默認端口是1433,所以只要開啟端口就能連得上,但08的端口據(jù)說是動態(tài)的,具體的本人也不清楚,就是因為這個端口我也被整了2天,最后終于連上了。
打開配置器:
將IP ALL的TCP動態(tài)端口(默認1163)改為1433,不改也行,因為大部分人的習慣是用默認的1433,在IP2已啟用選擇——是,確定。
同樣的方法,開啟客戶端的TCP/IP,端口也為1443,如圖:
然后在DOS命令中輸入測試 telnet 127.0.0.1 1433,
如果結果只有一個光標在閃動,那么就說明127.0.0.1 1433端口已經(jīng)打開。
如果出現(xiàn)連接主機端口1433沒打開,久要換端口。
一ODBC建立數(shù)據(jù)源
1 利用Java應用程序訪問SQL Server2000數(shù)據(jù)庫
(1)建立數(shù)據(jù)庫
啟動“Microsoft SQL Server2000”,打開“企業(yè)管理器”在“數(shù)據(jù)庫”中建立名為“學生管理系統(tǒng)”的數(shù)據(jù)庫,并在其下制作名為“學生信息”的數(shù)據(jù)表,如圖1示。
(2)建立(ODBC)數(shù)據(jù)源和驅(qū)動程序
在控制面板上通過“管理工具”的“數(shù)據(jù)源(ODBC)”打開“ODBC數(shù)據(jù)源管理器”對話框,單擊“系統(tǒng)DSN”選項卡,然后單擊“添加”按鈕,得到“創(chuàng)建數(shù)據(jù)源”對話框,選擇“SQL Server”并單擊“完成”按鈕,在出現(xiàn)的“建立新的數(shù)據(jù)源到SQL Server”對話框中的“數(shù)據(jù)源名稱”項填寫“madata”并選取“服務器名”,然后單擊“下一步”按鈕,選擇“使用網(wǎng)絡登錄ID的Windows NT驗證”項目,單擊“下一步”按鈕,把默認的數(shù)據(jù)庫改為“mydata”,再單擊“下一步”,單擊“完成”按鈕,然后可以單擊“測試數(shù)據(jù)源”,成功后,單擊“確定”按鈕,完成了(ODBC)數(shù)據(jù)源和驅(qū)動程序的建立。
(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("請輸入名字:"); 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("數(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 - 似水流年 - 夢里花落知多少
現(xiàn)在進入正題
啟動MyEclipse 8.5——創(chuàng)建JAVA項目——記住導入sqljdbc4.jar
代碼如下
我們用SQL驗證的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ū)動成功"); try { String user="sa"; String password="sql"; Connection con=DriverManager.getConnection(connectDB,user,password);//連接數(shù)據(jù)庫對象 System.out.println("連接數(shù)據(jù)庫成功"); Statement stmt=con.createStatement();//創(chuàng)建SQL命令對象 //創(chuàng)建表 System.out.println("開始創(chuàng)建表"); String query="create table TABLE(ID NCHAR(),NAME NCHAR())";//創(chuàng)建表SQL語句 stmt.executeUpdate(query);//執(zhí)行SQL命令對象 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命令對象 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語句查詢結果集(集合) //循環(huán)輸出每一條記錄 while(rs.next()) { //輸出每個字段 System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME")); } System.out.println("讀取完畢"); //關閉連接 stmt.close();//關閉命令對象連接 con.close();//關閉數(shù)據(jù)庫連接 } catch(SQLException e) { e.printStackTrace(); //System.out.println("數(shù)據(jù)庫連接錯誤"); System.exit(); } } }
MyEclipse8.5 運行結果:
打開SQL2008企業(yè)管理器
執(zhí)行SQL語句
USE Mydb GO SELECT * FROM TABLE1
結果為:
說明已經(jīng)成功連接SQL,并在數(shù)據(jù)庫Mydb創(chuàng)建表TABLE1
謝謝!有哪里不正確的地方,去哪個讀者指出,互相學習
版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。