मैंने इस समस्या को आसानी से हल किया। मैं अपने डेटासेट के डिजाइनर कोड (dataset1.designer.vb
) में गया और निम्न आदेश, Me._commandCollection(0)
, Me._commandCollection(1)
से Me._commandCollection(5)
पाया, क्योंकि मेरे पास मेरे SQL सर्वर 2008 डेटाबेस के विरुद्ध निष्पादित कुल पांच आदेश हैं। इन आदेशों में से प्रत्येक (0 से 5) में मैंने Me._commandCollection(0).CommandTimeout = 60
लिखा, जहां मैं चार अन्य आदेशों के लिए अगली संख्या में 0 को बदलता हूं। प्रत्येक पांच आदेशों में से प्रत्येक कोड का एक ब्लॉक होता है, जिसमें से दो उदाहरण आपको उदाहरण प्रदान करने के लिए नीचे दिखाई देते हैं।
Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(5) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandTimeout = 60
Me._commandCollection(0).CommandText = "SELECT MK_QR_SUB_AND_DETAIL.*" & _ "Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10)" & _ "FROM MK_QR_SUB_AND_DETAIL"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(1).Connection = Me.Connection
Me._commandCollection(1).CommandTimeout = 60
Me._commandCollection(1).CommandText = "dbo.spQtrRptTesting_RunInserts_Step1of4"
Me._commandCollection(1).CommandType = Global.System.Data.CommandType.StoredProcedure
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@RETURN_VALUE", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.ReturnValue, 10, 0, Nothing, Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@pStartADate", Global.System.Data.SqlDbType.[Date], 3, Global.System.Data.ParameterDirection.Input, 10, 0, Nothing, Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@pEndADate", Global.System.Data.SqlDbType.[Date], 3, Global.System.Data.ParameterDirection.Input, 10, 0, Nothing, Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@pStartBDate", Global.System.Data.SqlDbType.[Date], 3, Global.System.Data.ParameterDirection.Input, 10, 0, Nothing, Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@pEndBDate", Global.System.Data.SqlDbType.[Date], 3, Global.System.Data.ParameterDirection.Input, 10, 0, Nothing, Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", ""))
ठीक है, लेकिन यह है कि मैं क्या करने से बचने की कोशिश कर रहा हूं ... व्यक्तिगत रूप से ऐसा करना आसान है ... यदि आपके पास कई सौ डेटासेट के लिए कई सौ टेबल एडेप्टर हैं तो यह वास्तव में बहुत व्यवहार्य नहीं है। – Gary
मैं नहीं सोच सकता कि आप और क्या कर सकते हैं। कोई वैश्विक कमांडटाइमआउट संपत्ति नहीं है। यदि वहां थे, तो फिर भी किसी भी तरह से व्यक्तिगत SqlCommand.CommandTimeout गुणों को सेट करना होगा। –
कोई डेटासेट डिज़ाइनर में कमांडटाइमआउट संपत्ति को समायोजित क्यों नहीं कर सकता है? और यह अभी भी 30 सेकंड क्यों है जब मैं कनेक्शन टाइमआउट 300 सेकंड में बदलता हूं? बीटीडब्ल्यू, इनमें से क्या अंतर है? अग्रिम धन्यवाद ... –