萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> java 連接sql server2008數據庫配置

java 連接sql server2008數據庫配置

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程序

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 - 似水流年 - 夢裡花落知多少

現在進入正題

JAVA連接SQL2008 - 似水流年 - 夢裡花落知多少

啟動MyEclipse 8.5——創建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數據庫引擎
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語句

USE Mydb
GO
SELECT * FROM TABLE1

結果為:

說明已經成功連接SQL,並在數據庫Mydb創建表TABLE1

謝謝!有哪裡不正確的地方,去哪個讀者指出,互相學習

copyright © 萬盛學電腦網 all rights reserved