Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
18/02/2014 02:02 # 1
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
Hướng dẫn kết nối Java với MicroSoft SQL Server


1. Kết nối thông qua ODBC

a/ Kết nối dùng Data Source Name:
Thiết lập DataSource như sau :
Trên windows Vào menu Start->Settings->Control Panel->Administrative Tools->Data Sources (ODBC), kết quả như hình:
Nhấn Nút Add, Tìm đến SQL Server, Nhấn Finish.
Nhập vào tên của Data Source, ví dụ là MyDSN, chọn server: nếu server ở localhost thì có thể gõ vào dấu ., nếu có nhiều instances của sqlserver thì phải gõ vào tên_máy_tính/tên_instance. Nhấn Next 2 lần
Chọn Database cần nối:
Nhấn Next, Nhấn Finish. Nhấn nút “Test Data Source” để kiểm tra kết nối, nếu thành công sẽ hiển thị dòng “TEST COMPLETED SUCCESSFULLY!” Nhấn OK để kết thúc. Ta cần ghi nhớ tên của DSN.
Code để kết nối đến SQL server sử dụng data source như sau:



 package vovanhai.wordpress.com; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectODBC_DSN {
private Connection con=null;
public ConnectODBC_DSN() throws Exception{
String url=”sun.jdbc.odbc.JdbcOdbcDriver”;
Class.forName(url);
String dbUrl=”jdbc:odbc:myDSN”;
con=DriverManager.getConnection(dbUrl);
}
/**
Lấy danh sách các mẫu tin của bảng CSDL
@param tableName: tên bảng cần lấy các dòng
@return danh sách các dòng được lưu trong 1 ResultSet
@throws SQLException
*/
public ResultSet GetResultSet(String tableName)throws SQLException {
ResultSet rs=null;
Statement stmt=con.createStatement();
String sql=”select * from “+tableName;
rs=stmt.executeQuery(sql);
return rs;
}
public void Close()throws Exception{
con.close();
}
//Thử chương trình
public static void main(String[] args) {
try {
ConnectODBC_DSN conDSN=new ConnectODBC_DSN();
ResultSet rs=conDSN.GetResultSet(“EmployeeInfo”);
while(rs.next()) {
System.out.println(rs.getString(“EmpName”));
}
conDSN.Close();
catch (Exception e) {
e.printStackTrace();
}
}
}
b/ Dùng chuỗi kết nối:
Ở đây việc kết nối đến SQL Server cũng thông qua ODBC nhưng chúng ta không cần phải khai báo DSN, ta có thể dùng chuỗi kết nối trực tiếp thông qua ODBC để nối đến SQL Server.  Chuỗi kết nối có dạng
String dbUrl=”jdbc:odbc:Driver={SQL Server};Server=.;DatabaseName=Employee;UserName=sa;Password=”;
Lưu ý với thuộc tính Server: nếu chỉ có 1 server trên máy local thì dùng dấu chấm hoặc chỉ rõ tên máy hoặc IP address. Nếu trên máy có nhiều instance của sql server thì phải chỉ định rõ dùng instance nào. Ví dụ trên máy cài instance có tên SQLEXPRESS thì Server phải là: Server=ComputerName/InstanceName
Code kết nối như sau :
package vovanhai.wordpress.com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectODBC_ConString {
private Connection con=null;
public ConnectODBC_ConString() throws Exception{
String url=”sun.jdbc.odbc.JdbcOdbcDriver”;
Class.forName(url);
String dbUrl=”jdbc:odbc:Driver={SQL Server};Server=.;Database=Employee;UserName=sa;Password=”;
con=DriverManager.getConnection(dbUrl);
}
}

2. Kết nối trực tiếp dùng Driver
Ở đây việc kết nối thông qua 1 driver do nhà cung cấp hệ quản trị csdl hoặc 1 hãng trung gian thứ 3 cung cấp. Có rất nhiều driver khác nhau có thể làm việc với SQL server nhưng ở đây tôi muốn đề cập đến driver của microsoft. Bạn có thể download nó tại: MS Driver

Sau khi download về, bạn giải nén ra 1 thư mục bất kỳ, giả sử là C:\javaSoft\mssqlJDBCDriver. Bạn chú ý đến tập tinsqljdbc.jar. Copy tập tin này vào project của bạn để có thể sử dụng cho project đó hoặc bạn copy nó vào thư mục%JAVA_HOME%\jre\lib để có thể sử dụng cho tất cả các project có trong máy của bạn.
Bây giờ bạn có thể viết code kết nối như sau

package vovanhai.wordpress.com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectWithDriver {
private Connection con=null;
public ConnectWithDriver()throws Exception {
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
String url=”jdbc:sqlserver://localhost:1433;databaseName=Employee”;
con=DriverManager.getConnection(url,”sa”,”");
}
}
3. Kết nối dùng Driver thông qua Application Server:
Ví dụ ở đây tôi dùng Jboss 4.2.3GA
Bạn phải tạo 1 file có tên mssql-ds.xml trong thư mục %JBOSS-HOME%\ server\default\deploy\  có nội dung như sau:
<?xml version=”1.0″ encoding=”UTF-8″?>
<datasources>
<local-tx-datasource>
<jndi-name>MyDSJNDI_Name</jndi-name>
<connection-url>
jdbc:sqlserver://localhost:1433;databaseName=Tên_CSDL_của_bạn
</connection-url>
<driver-class>
com.microsoft.sqlserver.jdbc.SQLServerDriver
</driver-class>
<user-name>sa</user-name>
<password></password>
<metadata>
<type-mapping>MS SQLSERVER2000</type-mapping>
</metadata>
</local-tx-datasource>
<datasources>


Copy sqljdbc.jar vào thư mục mục %JBOSS-HOME%\ server\default\lib.
Start server và bạn có thể dùng JNDI để lookup như sau:
package vovanhai.wordpress.com;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class Connect_JNDI {
private Connection con=null;
public Connect_JNDI() throws Exception{
DataSource ds=null;
Context ctx=new InitialContext();
ds=(DataSource)ctx.lookup(“java://MyDSJNDI_Name”);
con=ds.getConnection();
}
}
Download chương trình demo trên môi trường Eclipse Ganymede: Ví dụ 


Nguồn: Võ Văn Hải's Blog. 

 



======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
Copyright© Đại học Duy Tân 2010 - 2024