मैंने एक बहुत छोटा सी # प्रोग्राम लिखा है, जो कुछ सीखने के लिए पूरी तरह से एक छोटे से छोटे SQL सर्वर डेटाबेस का उपयोग करता है, & परीक्षण उद्देश्यों के लिए। डेटाबेस का उपयोग इस एक नई परियोजना में और कहीं और नहीं किया जाता है। हालांकि, मुझे डीबग चलाने के दौरान समस्याएं आ रही हैं जहां प्रोग्राम नहीं चलेगा, क्योंकि डेटाबेस "किसी अन्य प्रक्रिया द्वारा उपयोग किया जा रहा है"।डाटाबेस का उपयोग दूसरी प्रक्रिया द्वारा किया जा रहा है ... लेकिन क्या प्रक्रिया है?
अगर मैं अपनी मशीन रीबूट करता हूं, तो यह फिर से काम करेगा, और उसके बाद कुछ टेस्ट रनों के बाद मुझे एक ही समस्या मिल जाएगी।
मुझे इंटरनेट पर कई समान समस्याएं मिली हैं, लेकिन इस समस्या को हल करने के तरीके के बारे में कोई निश्चित उत्तर नहीं मिल सकता है। सबसे पहले, मैं कैसे पता लगा सकता हूं कि "अन्य प्रक्रिया" मेरे .mdf & .ldf फ़ाइलों का उपयोग कर रही है? फिर, मैं इन फ़ाइलों को & जारी करने के लिए समय के बाद समय के बाद इस समय को रोकने के लिए कैसे प्राप्त करूं?!
मैं वीएस -2010, एसक्यूएल सर्वर & सी # के लिए नया हूं, इसलिए कृपया मुझे दिए गए किसी भी जवाब में काफी वर्णनात्मक रहें !!!
यह मेरा कोड है, जैसा कि आप देख सकते हैं, आपको कुछ और बुनियादी नहीं मिल सका, मुझे निश्चित रूप से इतनी सारी समस्याओं में भाग नहीं लेना चाहिए !!!
namespace MySqlTest
{
public partial class Form1 : Form
{
SqlConnection myDB = new SqlConnection(@"Data Source=MEDESKTOP;AttachDbFilename=|DataDirectory|\SqlTestDB.mdf;Initial Catalog=MySqlDB;Integrated Security=True");
SqlDataAdapter myDA = new SqlDataAdapter();
SqlCommand mySqlCmd = new SqlCommand();
string mySQLcmd;
int myCount;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("myDB state = " + myDB.State.ToString());
//Open SQL File
myDB.Open();
MessageBox.Show("myDB state = " + myDB.State.ToString());
}
private void button2_Click(object sender, EventArgs e)
{
myCount++;
MessageBox.Show("myCount = " + myCount.ToString());
//Insert Record Into SQL File
mySqlCmd.Connection = myDB;
mySqlCmd.CommandText = "INSERT INTO Parent(ParentName) Values(myCount)";
myDA = new SqlDataAdapter(mySqlCmd);
mySqlCmd.ExecuteNonQuery();
}
private void button3_Click(object sender, EventArgs e)
{
//Read Record From SQL File
}
private void button4_Click(object sender, EventArgs e)
{
//Read All Records From SQL File
}
private void button5_Click(object sender, EventArgs e)
{
//Delete Record From DQL File
}
private void button6_Click(object sender, EventArgs e)
{
MessageBox.Show("myDB state = " + myDB.State.ToString());
//Close SQL File
myDB.Close();
MessageBox.Show("myDB state = " + myDB.State.ToString());
}
private void button7_Click(object sender, EventArgs e)
{
//Quit
this.Close();
}
}
}
क्या आपको पहली बार अपना एप्लिकेशन चलाने पर एक ही त्रुटि संदेश मिला? अगर आपको दूसरी बार यह त्रुटि मिलती है, तो मुझे लगता है कि आपका एप्लिकेशन डीबी कनेक्शन को ठीक से बंद नहीं करता है। –
जब मैं पहली बार प्रोग्राम चलाता हूं, यह ठीक काम करता है, और काम जारी रहता है, लेकिन मैं कभी-कभी इसे बिना किसी तर्क के प्रोग्राम को डीबगिंग और रोक रहा हूं। ऐसा लगता है कि यह एक नियमित बिंदु नहीं है, जिस पर यह शुरू होता है, लेकिन हो सकता है कि यह डीबी बंद किए बिना डीबग को रोकने से जुड़ा हुआ हो। क्या वीएस -2010 उस संभाल नहीं करेगा?! –