SQL Server
Home  Contents KMArticlesMembersSponsorsAbout us

ปรับปรุง : 2559-01-09 (เริ่มเรียบเรียง)
ขอบซ้ายขอบบน
การใช้ php ติดต่อ SQL Server
1. เตรียมซอฟท์แวร์ที่ต้องเข้าใจความต้องการของแต่ละรุ่น
- AMD 2.11 GHz Ram 1 GB HD 60 GB เคยเป็นเครื่องที่ดี เมื่อหลายปีก่อน
- Apache 2.0.52 ซึ่งผมลงชุด WAMP จาก thaiabc.com
- PHP 5.2.5 มี php_mssql.dll ในห้อง ext แล้ว แต่ขาด ntwdblib.dll ที่ดาวน์โหลดไว้ใน windows/system32
- .NET 2.0 sp2 เพราะ 4.5 ต้อง vista ขึ้นไป ส่วน 4.0 ลงแล้วแต่ SQL Server 2005 เรียกหา 2.0 ขึ้นไป
- SQL Server 2005 น่าจะเหมาะกับเครื่องที่ spec. ต่ำ เพราะ 2012 ลงบน XP Pro ไม่ได้
- SQL Server 2005 Management Studio Express Edition
สรุป software ที่เข้ากันได้ คือ PHP5.2.12 + MSSQL 2008 + IIS on Win7 + .NET 4.0
2. ติดตั้ง .NET Framework 2.0 sp2
- ดอทเน็ตเฟรมเวิร์ค คือ ซอฟท์แวร์ที่บริษัทไมโครซอฟท์สร้างขึ้นสำหรับพัฒนาซอฟต์แวร์ให้นำไปพัฒนาซอฟท์แวร์ต่าง ๆ โดยง่าย และใช้งานบนระบบปฏิบัติการวินโดว์ รองรับภาษาโปรแกรมกว่า 40 ภาษา เป็นซอฟท์แวร์ที่ดาวน์โหลดได้ฟรี ให้นำไปใช้ประมวลผล และการพัฒนาซอฟท์แวร์
- ผมมีเครื่องคอมพิวเตอร์ 2 เครื่อง เคยติดตั้ง .NET 4.0 แต่ stop service ไว้ มาวันนี้จะใช้ แต่ start ไม่ขึ้นต้อง download จาก microsoft มา repair ก็ทำให้ใช้ได้ แล้ว .NET 4.0 ควรใช้บน Win7 คู่กับ SQL Server 2008 [refer]
+ แหล่งดาวน์โหลด .NET Framework ในไทย
+ Download Microsoft .NET Framework 2.0 Service Pack 2
3. ติดตั้ง SQL Server 2005 Express Edition
การติดตั้งก็คลิ๊ก Next ต่อกันไปไม่ยุ่งยาก จะไปยุ่งตอนแก้ไข configuration
+ Download : Microsoft SQL Server 2005 Express Edition
+ Download : Microsoft SQL Server 2008 Express Edition
+ Download : Microsoft SQL Server 2012 Express Edition
4. ติดตั้ง SQL Server 2005 Management Studio Express Edition
- หลังติดตั้งจะพบ SQL Server Management Studio Express ใน program files
- การเชื่อมต่อกำหนด server name = desktop/sqlexpress
- คำว่า desktop คือชื่อเครื่อง ได้จาก DOS> echo %COMPUTERNAME%
- สามารถใช้โปรแกรมนี้สั่งประมวลผล SQL ได้
5. สร้างฐานข้อมูล ตาราง และรหัสผู้ใช้สำหรับเข้าระบบด้วย PHP
- ถ้า PHP ใน IIS บน WIN7 มักใช้ PHP Manager และมีคำแนะนำที่ PHP.NET
5.1 ตัวอย่าง การสร้างฐานข้อมูล และสร้างตาราง
DOS> CD C:\Program Files\Microsoft SQL Server\90\Tools\Binn
DOS>sqlcmd -S.\SQLEXPRESS -E
sp_databases
go
create database dbthai
go
use dbthai
go
create table tbthai(id int,name varchar(10))
go
insert into tbthai values(1,'abc')
insert into tbthai values(2,'def')
go
select * from tbthai
go
select * from sys.tables
go 

5.2 ตัวอย่างการสร้างรหัสผู้ใช้ และรหัสผ่าน
DOS>sqlcmd -S.\SQLEXPRESS -E
sp_addLogin 'thai', 'thai2007'
go
sp_addsrvrolemember 'thai', 'sysadmin'
go
sp_password @old = null, @new = '1234', @loginame = 'sa'
go
alter login sa enable
go 
5.3 แก้ไข register ให้ใช้รหัสที่สร้างในข้อ 5.2
DOS>REGEDIT
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Microsoft SQL Server\MSSQL.1\MSSQLServer
หรือ
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT
\MICROSOFT SQL SERVER\MSSQL10.MSSQLSERVER
\MSSQLSERVER
LoginMode = 2 (Old value = 1) 
ถ้าไม่ reboot จะใช้ User ที่สร้างใหม่ Connect ไม่ได้
ถ้าหาไม่พบก็ใช้ find ดูครับ เพราะต่างรุ่นอาจเปลี่ยนที่เก็บ
ถ้าเป็น 2 แล้วก็จะ authentication ได้ 2 แบบ
1. Windows Authentication
2. SQL Server authentication
6. แก้ไข php.ini
ถ้าติดตั้ง php แบบไม่เต็ม ซึ่งส่วนใหญ่ไม่เต็ม ต้อง download แฟ้ม php_mssql.dll ไว้ในห้อง ext และ ntwdblib.dll ไว้ในห้อง system32
6.1 เปิดแฟ้ม php.ini
หาบรรทัด ;extension=php_mssql.dll
แก้ไขเป็น extension=php_mssql.dll
โดยตรวจว่าในห้อง ext มีแฟ้มนี้หรือไม่ ถ้าไม่มีก็ต้องหา download
พบว่า xampp 3.0.12 ไม่มีแฟ้มนี้ จึงใช้ตรวจใน php 5.2.5 พบว่ามี
ถ้าแก้ไข config แต่ไม่มีแฟ้มนี้ ก็จะพบ error message ดังนี้
Fatal error: Call to undefined function mssql_connect() 
in C:\thaiabc\apache2\htdocs\x.php on line 2
6.2 ดาวน์โหลดแฟ้ม ntwdblib.dll สนับสนุน php_mssql.dll
ถ้าในห้อง c:\windows\system32 ไม่พบแฟ้มนี้ ก็ต้องหาดาวน์โหลดเพิ่ม
บางเครื่องที่ไม่ได้ใช้ห้องชื่อ windows สามารถตรวจว่าเป็นห้องชื่อใด
ด้วย DOS> echo %SystemROOT%
Download : http://www.dlldll.com/ntwdblib.dll_download.html
7. ปรับแต่ง กรณีพบปัญหา connect ไม่ได้
Warning: mssql_connect() [function.mssql-connect]: 
Unable to connect to server: localhost in C:\thaiabc\apache2\htdocs\x.php on line 2
Database Connect Failed.
Warning: mssql_close(): supplied argument is not a valid MS SQL-Link resource 
in C:\thaiabc\apache2\htdocs\x.php on line 4

7.1 คำแนะนำที่ http://support.microsoft.com/default.aspx?scid=kb;en-us;839569
- Control panel, Administrative Tools, Local Security Policy, Security Options
Network Access: Allow anonymous SID/Name translation. : enable
- สำหรับคำแนะนำเพื่อเปิด TurnOffAnonymousBlock ใน Regedit ไม่พบใน Windows XP
7.2 คำแนะนำที่ http://php.net/manual/en/ref.mssql.php
Start, Program, Microsoft SQL Server 2005, Configuration Tools
SQL Server Configuration Manager, SQL Server Network Configuration
- Protocols for SQLExpress
Named Pipes = Enabled และ TCP/IP = Enabled
เข้า TCP/IP, IP addresses แล้วกำหนด TCP Dynamic Ports = 1433
แล้ว Restart service

8. โปรแกรมภาษา PHP สำหรับ connect mssql
$objConnect = mssql_connect("DESKTOP\SQLEXPRESS","thai","thai2007");
if($objConnect) { echo "Database Connected.";  
} else { echo "Database Connect Failed."; }
mssql_close($objConnect);

/$objConnect = mssql_connect("172.50.0.7","thai","thai2007");
//$objConnect = mssql_connect("127.0.0.1","thai","thai2007");
//$objConnect = mssql_connect("localhost","thai","thai2007");
$objConnect = mssql_connect("burin","thai","thai2007");
if($objConnect) echo "ok"; else echo "fail";
echo "<br/>";
mssql_close($objConnect);
ปล. แนะนำ MSSQL Manager ของ Toadworld.com
+ http://toadworld.com
ขอบซ้ายขอบบน
Toad for SQL server
แนะนำโปรแกรม Toad for SQL server
Toad สำหรับเครื่องบริการ SQL เป็นโปรแกรมที่ทำงานบน Microsoft windows มีประสิทธิภาพ และเสริมให้ผู้ใช้จัดการกับข้อมูลขนาดใหญ่บนระบบฐานข้อมูล ได้อย่างคล่องตัว ใช้งานง่าย ช่วยทำงานซ้ำได้ ช่วยให้มั่นใจว่าจะพัฒนาโปรแกรมอยู่ในระดับที่มีคุณภาพสูงสุด มีประสิทธิภาพ และบำรุงรักษาง่าย และปรับปรุงไปพร้อมกับการพัฒนาของเครื่องบริการ SQL
การได้รางวัลดาวทอง โดย Quest ของ Toad เป็นเครื่องการันตี ว่าใช้งานได้ดีกว่าของรายอื่น [Awards Won by Quest 2011 - 2012]
ขอบซ้ายขอบบน
แนะนำเว็บ (Web guide)
*** http://www.thaicreate.com/php/php-mssql-sql-server-connect-database.html
*** http://devdesign.bizidea.co.th/2010/12/warning-mssql_connect-function-mssql-connect-unable-to-connect-to-server/
*** http://www.quest.com/toad-for-sql-server/
ขอบซ้ายขอบบน
ขั้นตอนการลง Software เพื่อใช้ SQL Server
1. ลง SQL Server Express 2005 บน WinXP
https://www.microsoft.com/en-us/download/details.aspx?id=21844
2. Framework 4.0 (required by Toad)
http://software.thaiware.com/download.php?id=5177
3. Toad for SQL Server 5.8 (Freeware)
http://download.cnet.com/Toad-for-SQL-Server-Freeware/3000-2065_4-10567169.html
4. Create Database ยกเลิก Autogrowth แล้วกำหนด Fix size ได้
5. Alter Database ขยาย Initial size
เคยพูดคุยกับ ภสุ
เรื่อง จะเพิ่ม max size ใน database ได้อย่างไร ผมค้นดูก็พบที่ microsoft เรื่อง Increase the Size of a Database เค้าว่าใช้ object explorer เข้า Database properties แล้วเลือก Files แล้วไปแก้ค่าของ Initial size ก็น่าจะเรียบร้อย ซึ่งรุ่นของ SQL และรุ่นของ Manager เราน่าจะต่างกัน ทำให้ตำแหน่งของ Max size อาจอยู่ไม่ตรงกันก็ได้
"Imagination is more important than knowledge" - Albert Einstein
Home
Thaiabc.com
Thainame.net
Lampang.net
Nation university
PHP
MySQL
Visual basic.NET
TabletPC
Linux
Online quiz
Download
Search engine
Web ranking
Add website
Blog : Education
Blog : ACLA
Blog : Lampang
Facebook.com
Twitter.com
About us
My dream
Site map
Sponsor
http://goo.gl/72BPC