Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Java Programming > Java and SQL Server Database (JDBC/SQLServerDriver) > Java Connect to SQL Server Database (JDBC)



Clound SSD Virtual Server

Java Connect to SQL Server Database (JDBC)

Java Connect to SQL Server Database (JDBC) บทความนี้จะเป็นเนื้อหาเกี่ยวกับการเขียนโปรแกรมด้วยภาษา Java เพื่อติดต่อกับฐานข้อมูลของ SQL Server Database การเรียกใช้งาน รูปแบบการเชื่อมต่อ วิธีการต่าง ๆ ว่าถ้าจะใช้ SQL Server Database บนภาษา Java นั้นเราจะต้องทำอย่างไรบ้าง ซึ่งปกติแล้วในภาษา Java จะมี Connector Package หรือ Class Library ที่ใช้ติดต่อกับ Database ที่มีชื่อว่า JdbcOdbcDriver (sun.jdbc.odbc.JdbcOdbcDriver) รองรับทุก Database โดย Class นี้จะมีมากับ Package ของ JDK โดยไม่ต้องไปหามาติดตั้งเพิ่ม แต่จะรองรับการทำงานบน Windows ในรูปแบบของ ODBC เท่านั้น เพียงแต่ใน Windows จะต้องมี Driver ของ Database นั้น ๆ มารองรับก็สามารถที่จะเรียกใช้งานได้ทันที

Java and JDBC/ODBC/JdbcOdbcDriver (รองรับทุก Database เชื่อมต่อผ่าน ODBC)


แต่เราจะเลือกใช้ com.microsoft.sqlserver.jdbc.SQLServerDriver เป็น Connector Package ที่สร้างเพื่อ SQL Server Database โดยเฉพาะ และรองรับการทำงานได้ทุก Platform

Java SQL Server

Java and SQL Server Database


ในการใช้ Java ติดต่อกับฐานข้อมูลของ SQL Server สามารถใช้ JdbcOdbcDriver ซึ่งจะมี Package มาพร้อมกับ JDK ได้ทันที แต่ในบทความนี้ จะเลือกใช้ Package ของ com.microsoft.sqlserver.jdbc.SQLServerDriver ซึ่งเป็น Connector Package ที่ได้ถูกออกแบบมาไว้สำหรับฐานข้อมูลของ SQL Server โดยเฉพาะ สามารถ Download ได้ที่เว็บไซต์ของ Microsoft ได้โดยตรง และรองรับการทำงานได้ทุก Platform เช่น Windows , Linux , Mac OS

Error กรณีไม่มี Package Connector ของ SQL Server
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.java.myapp.MyClass.main(MyClass.java:14) Exception in thread "main" java.lang.NullPointerException at com.java.myapp.MyClass.main(MyClass.java:29)

Microsoft JDBC Driver for SQL Server

เลือก Version :: Download the Microsoft JDBC Driver 4.0 for SQL Server

Java SQL Server

เลือก Download

Java SQL Server

เอาเฉพาะที่เป็นไฟล์ .tar.gz

หลังจากที่ Download แล้วจะได้เป็น Package เป็นไฟล์ jar และจะต้องนำไป Import ในโปรแกรม Eclipse หรือ Netbeans ซะก่อน

Java SQL Server

Copy มาไว้ที่โฟเดอร์ lib ของ Project เอาเฉพาะไฟล์ sqljdbc4.jar

Java SQL Server

กลับมาที่ Project บน Eclipse ให้ทำการ Refresh ตัว Project ซะ 1 ครั้ง เราจะเห็น Library ของ jar ที่เป็น Connector ของ SQL Server Database ดังรูป

Java SQL Server

ให้คลิกวาที่ Project เลือก Properties

Java SQL Server

ในส่วนของ Java Build Path ให้เลือก Add JARs...








Java SQL Server

เลือก Package ไฟล์ jar ที่เป็น Connector ของ SQL Server

Java SQL Server

Library ได้ถูก Add เข้ามาใน Project แล้ว ซึ่งตอนนี้เราจะสามารถเรียกใช้งานได้ตามปกติ

เพิ่มเติม ถ้าในกรณีรันแล้ว Error ลองปรับแต่งตัวนี้

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerException. ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.java.myapp.MyClass.main(MyClass.java:15)
Exception in thread "main" java.lang.NullPointerException
at com.java.myapp.MyClass.main(MyClass.java:29)


Java SQL Server

เลือก SQL Server Configuration Manager

Java SQL Server

เลือกตัว Instance ที่เราใช้ -> TCP/IP - > Enable

Java SQL Server

จากนั้นก็ Restart ตัว SQL Server Service ซะ 1 รอบ

เริ่มต้นการเขียน Java กับ SQL Server Database

เริ่มต้นด้วยเรียกใช้ Class ของ com.microsoft.sqlserver.jdbc.SQLServerDriver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection String
jdbc:sqlserver://host\\instance;databaseName=mydatabase;user=user;password=password"


ตัวอย่าง Table และ Data
CREATE TABLE [dbo].[customer](
	[CustomerID] [varchar](4) NOT NULL,
	[Name] [varchar](50) NULL,
	[Email] [varchar](50) NULL,
	[CountryCode] [varchar](2) NULL,
	[Budget] [float] NULL,
	[Used] [float] NULL,
 CONSTRAINT [PK_customer] PRIMARY KEY CLUSTERED 
(
	[CustomerID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

INSERT INTO customer VALUES ('C001', 'Win Weerachai', '[email protected]', 'TH', 1000000, 600000);
INSERT INTO customer VALUES ('C002', 'John  Smith', '[email protected]', 'UK', 2000000, 800000);
INSERT INTO customer VALUES ('C003', 'Jame Born', '[email protected]', 'US', 3000000, 600000);
INSERT INTO customer VALUES ('C004', 'Chalee Angel', '[email protected]', 'US', 4000000, 100000);

ตัวอย่าง Database ที่ใช้ทดสอบ

Java SQL Server

ชื่อตารางว่า customer จัดเก็บข้อมูลดังรูป

Example การเขียน Java เพื่อติดต่อกับ Database ของ SQL Server

MyClass.java
package com.java.myapp;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MyClass {

	public static void main(String[] args) {
		
		Connection connect = null;
		
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			connect =  DriverManager.getConnection("" +
			"jdbc:sqlserver://localhost\\SQL2008;databaseName=mydatabase;user=sa;password=");
			if(connect != null){
				System.out.println("Database Connected.");
			} else {
				System.out.println("Database Connect Failed.");
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		try {
			connect.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
}


Output
Database Connected.









สำหรับการเขียน Java เพื่อกระทำกับข้อมูลของ SQL Server เช่น การ อ่านข้อมูล (Read) การบันทึกข้อมูล (Add/Insert) การแก้ไขข้อมูล (Edit/Update) การลบข้อมูล (Delete) สามารถอ่านได้จากหัวข้อถัดไป

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2013-05-26 11:35:20 / 2017-03-27 14:19:42
  Download : Download  Java Connect to SQL Server Database (JDBC)
 Sponsored Links / Related

 
Java Insert data to SQL Server Database (JDBC)
Rating :

 
Java Retrieve fetch Show data from SQL Server Database (JDBC)
Rating :

 
Java Read data from SQL Server Database (JDBC)
Rating :

 
Java Search data from SQL Server Database (JDBC)
Rating :

 
Java Update data in SQL Server Database (JDBC)
Rating :

 
Java Delete data in SQL Server Database (JDBC)
Rating :

 
Java SQL Server Database and PreparedStatement/Parameters Query (JDBC)
Rating :

 
Java SQL Server Database and Transaction (Commit/Rollback) (JDBC)
Rating :

 
Java SQL Azure Database (Windows Azure)
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่