-
เวลาเปิดโปรแกรมมา แล้ว connect มันขึ้นเช่นนี้อ่ะครับ คือว่าเกิดจากอะไร ต้องทำยังไงบ้างครับ ไม่เคยใช้ครับ กำลังศึกษา
An error has occurred while establishing a connection to the server.When connecting to SQL Server 2005,this failure may be caused by the fact that under the default settings SQL Server does not allow remote connection.
(provider : Name Pipes Provider,error : 40 - Could not open a connection to SQL Server)
-
แบบนี้ อาจเกิดขึ้นจากตอนที่เราลง ไม่ได้ Set ว่าให้ใช้ Mix Mode คับ คือ ตอนที่ลง SQL Server จะมี Dialog หลายๆ หน้าจอขึ้นมาให้เรา Setup ค่า ทีนี้ ถ้าเรากดข้ามทั้งหมด แล้วลืมเลือกรูปแบบการเข้าถึง เป็น Mix Mode คือ สามารถเข้าได้จากการทำ Window Authorization (หรือการล็อคอินบนเครื่องเรา) และ User Authorization (หรือการกำหนด หรือเพิ่ม User ใน SQL Server นั้นเอง) จึงเกิดปัญหานี้ขึ้น
วิธีแก้ลองลงใหม่แล้วเลือกเป็น Mix Mode ดูนะคับ
แต่ถ้าไม่ใช้ และใช้ MS SQL Server 2005 Express Edition ที่ดาวน์โหลดมาจากเว็บไมโครซอฟท์ ลองดูว่าเราลง Software ครบรึยัง เพราะในชุด MS SQL Server 2005 Express Edition จะมีตัวติดตั้ง 2 ตัว คือ SQL Server (ตัวติดตั่ง Server) และ SQL Server Maneger Studio (หรือตัวที่ใช้ในการจัดการฐานข้อมูล) จะต้องทำการติดตั้งทั้ง 2 ตัว ถึงจะทำงานได้
วิธีเช็ค เปิดเข้าไปดูใน Start Menu ว่า มี Folder Configuration Tool รึเปล่า เพราะตอนนี้ คุณอาจมี Server Manager แล้ว
หรือ อาจเกิดจากปัญหาสุดท้าย ไม่เปิด Service ของ SQL Server ลองดู ใน Service ดูว่า มีการทำงาน ของ SQL Server รึเปล่า ถ้าไม่มีลองทำการเปิด Service ดูนะคับ
ถ้ายังไม่ได้อีกคงเป็นที่การเซ็ทค่า SQL Server ลองดูค่าต่างๆ ที่เซ็ทไว้ว่าถูกต้องรึเปล่านะคับ
-
อีกอย่างที่ต้องตรวจสอบคือ หลังจากที่ ทำให้ SQL Server ให้เป็น Mix Mode แล้ว ให้ตรวจสอบด้วยว่า user ที่คุณสร้างเพื่อจะ connect Database มีสิทธิ์ในการใช้งาน Database ตัวที่คุณต้องการ Connect หรือเปล่า และ User Account นั้น เป็น Enable หรือ Disable ด้วยครับ
ถ้าไม่ Grant สิทธิ์ ให้เข้าใช้งาน Database หรือ User ถูก lock เป็น Disable ก็ไม่สามารถเข้าใช้งานได้ครับ
-
ขอบคุณสำหรับ ทุกคำแนะนำครับ
-
หรืออาจจะเป้นเพราะมันยังไม่ได้คอนฟิกให้รับคอนเน็กชั่นจาก tcp/ip หรือเปล่า
แล้วลองดูว่ามีพอร์ต 1433 อยู่ในสถานะ LISTENING หรืเปล่า โดยใช้คำสั่ง netstat -na | find "LIST" ครับ