जैसा कि यह पता चला है, विचाराधीन डेटाबेस पहले से ही स्थानीय मशीन पर SQL सर्वर के डिफ़ॉल्ट उदाहरण से जुड़ा हुआ था, इसलिए कनेक्ट करने के लिए जो कुछ भी आवश्यक था वह था
import pyodbc
conn_str = (
r"Driver={SQL Server Native Client 11.0};"
r"Server=(local);"
r"Database=online_banking;"
r"Trusted_Connection=yes;"
)
conn = pyodbc.connect(conn_str)
भ्रम के दो मुख्य बिंदु थे:
प्र:SQL सर्वर "डिफ़ॉल्ट उदाहरण" का नाम क्या है?
उ:इसमें एक नहीं है।
SQL सर्वर इंस्टेंस को नाम से संदर्भित करते समय, एक डिफ़ॉल्ट इंस्टेंस केवल मशीन के नाम से जाना जाता है, जबकि एक नामित उदाहरण MachineName\InstanceName
. द्वारा पहचाना जाता है . तो, PANORAMA
. नाम के सर्वर पर
- यदि हम SQL सर्वर का "डिफ़ॉल्ट उदाहरण" स्थापित करते हैं तो हम इसे
PANORAMA
के रूप में संदर्भित करते हैं । - यदि हम "SQLEXPRESS" नामक "नामित इंस्टेंस" स्थापित करते हैं तो हम इसे
PANORAMA\SQLEXPRESS
के रूप में संदर्भित करते हैं ।
यदि हम स्थानीय मशीन पर SQL सर्वर इंस्टेंस की बात कर रहे हैं तो हम (local)
. का उपयोग कर सकते हैं PANORAMA
. के बजाय ।
प्र:क्या (स्थानीय) और (स्थानीयडीबी) का मतलब एक ही है?
ए:नहीं।
(local)
और (local)\InstanceName
SQL सर्वर के "वास्तविक" सर्वर-आधारित उदाहरण देखें। ये ऐसे उदाहरण हैं जो SQL सर्वर के पहली बार रिलीज़ होने के बाद से मौजूद हैं। वे एक सेवा के रूप में चलते हैं और नेटवर्क कनेक्शन स्वीकार करने में सक्षम होते हैं और वे सभी चीजें करते हैं जो हम एक डेटाबेस सर्वर से करने की अपेक्षा करते हैं।
(localdb)
और (localdb)\InstanceName
संदर्भ - (localdb)
. के साथ आमतौर पर (LocalDB)
. के रूप में बड़े अक्षरों में लिखा जाता है स्पष्टता के लिए - "एसक्यूएल सर्वर लोकलडीबी" इंस्टेंस से कनेक्ट करने के लिए उपयोग किया जाता है। ये अस्थायी स्थानीय SQL सर्वर इंस्टेंस हैं जो मुख्य रूप से डेवलपर्स के लिए अभिप्रेत हैं। विवरण के लिए निम्नलिखित एमएसडीएन ब्लॉग पोस्ट देखें:
एसक्यूएल एक्सप्रेस बनाम लोकलडीबी बनाम एसक्यूएल कॉम्पैक्ट संस्करण