यदि आपका संस्करण SQL सर्वर एक्सप्रेस है, तो आपको शायद इसका उपयोग करना चाहिए:
$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");
या यदि यह अन्यथा एक नामित उदाहरण है, तो
$objConnect = mssql_connect("localhost\InstanceName","usr","pass");
यदि आपको दूरस्थ रूप से कनेक्ट करने की आवश्यकता है, तो जाहिर है कि आपको localhost
का उपयोग नहीं करना चाहिए चूंकि दूरस्थ वेब सर्वर आपका . का पता कैसे लगाता है localhost
? आपको निम्न में से किसी एक का उपयोग करना चाहिए (यह मानते हुए कि दूरस्थ वेब सर्वर आपकी मशीन को IP पते 192.168.5.22) के साथ देख सकता है:
$objConnect = mssql_connect("192.168.5.22\SQLEXPRESS","usr","pass");
$objConnect = mssql_connect("192.168.5.22\NamedInstance","usr","pass");
$objConnect = mssql_connect("192.168.5.22","usr","pass");
निश्चित रूप से उस कनेक्शन को स्वीकार करने के लिए आपके फ़ायरवॉल में पोर्ट 1433 (और संभवतः 1434) खुला होना चाहिए, और कई अन्य चीजें हैं जो यहां भी गलत हो सकती हैं।
हालाँकि, थोड़ा डिबगिंग 101 सुझाव। इसके बजाय:
if($objConnect)
{
echo "Database Connected.<br />";
echo mssql_error();
}
else
{
echo "Database Connect Failed.<br />";
}
क्यों नहीं:
if($objConnect)
{
echo "Database Connected.<br />";
}
else
{
echo "Database Connect Failed.<br />";
echo mssql_error();
}
जब डेटाबेस सफलतापूर्वक कनेक्ट होता है तो निश्चित रूप से आपको पृष्ठ पर कोई त्रुटि लिखने की आवश्यकता नहीं होती है। और हमें आपको प्राप्त होने वाले वास्तविक त्रुटि संदेश को बताने से हम आपको समाधान की दिशा में इंगित करने के लिए बेहतर ढंग से तैयार कर सकते हैं। आपके द्वारा लिखा गया एक सामान्य "डेटाबेस कनेक्ट विफल" संदेश किसी को इस बारे में कोई सुराग नहीं देने वाला है कि वास्तव में क्या गलत हुआ। लेकिन मैं शर्त लगाता हूं mssql_error()
हो सकता है!