[ad_1]
मैं xampp का उपयोग करके अपने विज़ुअल बेसिक प्रोजेक्ट को MySQL डेटाबेस से कनेक्ट करने का प्रयास कर रहा हूं। मैंने इस वेबसाइट https://dev.mysql.com/downloads/connector/net/ से एक sql vbconnector डाउनलोड किया
लेकिन जब मैं अपने प्रोजेक्ट को डीबग करने का प्रयास करता हूं तो प्रत्येक MySQL कमांड एक त्रुटि पढ़ता है और यदि मैं जाकर MySQL संदर्भ को दोबारा जोड़ता हूं तो सभी त्रुटियां गायब हो जाती हैं लेकिन यदि मैं दोबारा डीबग करता हूं तो वही डिबगिंग समस्या उत्पन्न होती है।
मैंने क्या प्रयास किया है:
Imports MySql.Data.MySqlClient Imports System.IO Module databaseconn Public conn As MySqlConnection Public dr As MySqlDataReader Public flag As Boolean Public dt As DataTable Public da As MySqlDataAdapter Public i As Integer Public ds As DataSet Public cmd As MySqlCommand Public result As Boolean Public Function dbconn() As Boolean Try If conn.State = ConnectionState.Closed Then conn.ConnectionString = "server=localhost;username=root;password=;database=database" result = True End If Catch ex As Exception result = False MsgBox(ex.Message) End Try Return result End Function End Module
समाधान 1
वह कोड डीबी के साथ कुछ नहीं करता है, इसलिए यह पता लगाना मुश्किल है कि आपकी समस्या क्या हो सकती है। वह सब कोड एक कनेक्शन स्ट्रिंग सेट करता है (जिस पर मैं बाद में वापस आऊंगा) और कुछ नहीं: कनेक्शन प्रयोग करने योग्य नहीं है – और वैसे भी इसे बुरी तरह से संभाला जा रहा है।
जब आप कोई प्रश्न पूछते हैं, तो आपको प्रासंगिक जानकारी शामिल करने की आवश्यकता होती है: “जब मैं अपने प्रोजेक्ट को डीबग करने का प्रयास करता हूं तो प्रत्येक MySQL कमांड एक त्रुटि पढ़ता है” किसी को कुछ नहीं बताता क्योंकि हम कोड नहीं देख सकते हैं, कमांड ऑब्जेक्ट के साथ कुछ भी नहीं करता है, या बताएं कि क्या है त्रुटि संदेश हो सकते हैं.
यदि आप त्रुटि संदेशों को ध्यान से पढ़ते हैं तो उनमें ढेर सारी जानकारी होती है – किस फ़ाइल की कौन सी पंक्ति में समस्या दिखाई देती है, जो समस्या पाई गई उसका विवरण तक। तो यहां से शुरू करें: किसी समस्या को हल करने के लिए कोड कैसे लिखें, एक शुरुआती मार्गदर्शिका भाग 2: सिंटेक्स त्रुटियाँ[^] – यह सिंटैक्स त्रुटियों के बारे में बात करता है, लेकिन रन टाइम त्रुटियों में समान जानकारी को थोड़ा अलग तरीके से प्रस्तुत किया जाता है।
यहाँ एक अच्छा लेख भी है: प्रश्न पूछना एक कौशल है[^] जो बताता है कि प्रश्न कैसे पूछा जाए ताकि आपको उपयोगी प्रतिक्रिया मिल सके।
आपके द्वारा दिखाए गए कोड पर वापस जाएं, और वहां मैं तीन समस्याएं देख सकता हूं:
1) मल्टीयूजर डीबी के लिए आपका पासवर्ड कभी भी खाली नहीं होना चाहिए, न ही डिफ़ॉल्ट एडमिन नाम का उपयोग किया जाना चाहिए – ऐसा करने से कोई भी व्यक्ति जो आपके डीबी के साथ कुछ भी करना चाहता है: इसे चुरा सकता है, फिरौती के लिए इसे छीन सकता है, या उदाहरण के लिए इसे नष्ट कर सकता है। पुनर्नामित व्यवस्थापक खाते पर एक अच्छा, मजबूत पासवर्ड सेट करें और आप अधिक सुरक्षित रहेंगे।
2) अपने कोड में कनेक्शन स्ट्रिंग्स को हार्डकोड न करें: इसका मतलब है कि जब आप इसे जारी करते हैं, तो आपको इसे उत्पादन सर्वर के लिए बदलना होगा (या उत्पादन सर्वर के खिलाफ बदतर परीक्षण जो आत्मघाती है) और प्रभावी ढंग से अप्रयुक्त कोड को जारी करना होगा! इस तरह की गड़बड़ी ग्राहकों पर बुरा प्रभाव डाल सकती है और आपकी प्रतिष्ठा और बैंक बैलेंस पर नकारात्मक प्रभाव डाल सकती है… कनेक्शन स्ट्रिंग को होल्ड करने के लिए कॉन्फिग फ़ाइल का उपयोग करें ताकि जब आप इसे जारी करें तो कोड को बदलना न पड़े।
3) डीबी के लिए एक भी कनेक्शन का पुन: उपयोग न करें: इसे तब बनाएं जब आपको किसी के अंदर एक की आवश्यकता हो Using
ब्लॉक करें और जब आपका काम पूरा हो जाएगा तो सिस्टम इसे बंद कर देगा और इसका निपटान कर देगा। न केवल ऐसे कनेक्शन दुर्लभ संसाधन हैं, बल्कि यह आपके लिए वास्तविक समस्याएं पैदा कर सकता है यदि आप किसी कनेक्शन पर डेटा रीडर खोलते हैं और फिर तालिका को सम्मिलित करने या अपडेट करने के लिए उसी कनेक्शन का पुन: उपयोग करने का प्रयास करते हैं: सर्वर एक त्रुटि फेंक देगा क्योंकि रीडर अभी भी इसका उपयोग कर रहा है कनेक्शन.
[ad_2]
コメント