PDA

View Full Version : بروز خطا ( Timeout ) هنگام دوباره فراخوانی Form



gilsoft
یک شنبه 28 اردیبهشت 1393, 15:53 عصر
سلام دوستان

ابتدا عرض کنم که: به Database روی server قرار گرفته و من از یک Station به اون متصل میشم ... ( بصورت Local همچین مشکلاتی بروز نمی‌کند )
هم در زمان اجرای نرم‌افزار .. و هم هنگام دوباره فرخوانی Form خطای زیر رخ میده:

119176

اینم فانکشن مربوطه :
Public Function DbToDT(Table As String, SqlCmdStr As String, Optional ByVal DbName As String = "") As DataTable If DbName = "" Then DbName = Catalog
Dim DT As New DataTable
Try
Dim DbSql As New gsSql
With DbSql
.DbType = eDbTypes.SQL
.DbSource = DataSource
.DbCatalog = DbName
.TableName = Table
End With
Using DbCnn As New SqlConnection(DbSql.DbConnectionString)
Dim SqlCmd As New SqlCommand(SqlCmdStr, DbCnn) : SqlCmd.CommandType = CommandType.Text
DbCnn.Open()
Dim DA As New SqlDataAdapter(SqlCmd)
DA.Fill(DT) : DA.Dispose()
End Using
DbSql.Dispose() : DbSql = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message.ToString + vbCrLf + Table, "DbToDT", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, True)
Finally
DbToDT = DT : DT.Dispose() : DT = Nothing
End Try
End Function 'DbToDataTabale()

دوستان به نظر شما چه باید کرد ؟ :متفکر:

gilsoft
پنج شنبه 01 خرداد 1393, 12:26 عصر
سلام دوستان
اینم ConnectionString من ...

Data Source=SERVER,1433; Network Library=DBMSSOCN; Initial Catalog=Data1; User ID=sa; Password=123;

خواهشا جواب بدید ...

ممنونم

محمد آشتیانی
پنج شنبه 01 خرداد 1393, 12:55 عصر
سلام
جناب محرابی بنده متوجه نشدم، از کلاینت ها همیشه همین خطا رو میده یا گاهی
اگر همیشه هست ممکنه پورت 1433 توسط فایروال روی سرور مسدود شده باشه

چون شما کانکشن استرینگ رو فرمودین (البته فکر نمیکنم مشکل از این باشه) ولی به هر حال من از این استفاده میکنم و تا حالا هم مشکلی نداشتم



Data Source=127.0.0.1;Initial Catalog=YourDB;Persist Security Info=True;User ID=sa;Password=1



موفق باشید / محمد آشتیانی

gilsoft
پنج شنبه 01 خرداد 1393, 14:33 عصر
سلام جناب آقای آشتیانی

اول از همه بابت جوابتون ممنونم

عارضم به حضور جنابعالی که : Server من Windows Server 2008 R2 بر پایه‌ی Domain هست .. کلیه فایروالها هم Disable هست .. فعلا بصورت LAN با Nodeها شبکه هست ..

SQLSERVER 2008 Enterprise 10.0.2531.0 هم روی Server نصب شده ( البته این SQL توسط شرکت همکاران سیستم نصب شده )

هنوز نمی‌دانم که : نرم‌افزار باید روی Nodeها نصب شود یا روی Server .. ( کدام روش بهتر و بهینه‌تر هست را نمی‌دانم :خجالت: )

IPها هم بصورت Dynamic تعریف شده‌اند ...

معمولا برای بار دوم که میخوام نرم‌افزار یا یکی از فرم‌ها رو Load کنم .. این اتفاق میوفته ..... گاها هم همون بار اول این مشکل پیش میاد .....

محمد آشتیانی
جمعه 02 خرداد 1393, 00:29 صبح
سلام مجدد
جناب آقای محرابی ، حقیقتش من تا حالا به مشکلی که مورد بحث هست بر نخوردم ، اما تو سایت Stackoverflow به بحث زیر رسیدم (جالب بود توی فروم مایکروسافت هم یکی از تاپیک هایی که ظاهرا حل شده بود به همین جا لینک داده)

http://stackoverflow.com/questions/15488922/connection-to-sql-server-works-sometimes

این میگه با تیک زدن (فعال کردن) IPv6 روی سرور مشکلش حل شده. (جالبه اونجا هم مشکل اینه که بعضی اوقات این مسئله پیش میاد)
البته مراحلی رو هم گفته که به ترتیب باید از Sql Server Configuration Manager انجام بدید (روی سرور)
و اینکه نمیدونم تا چه حد این راه حل میتونه درست باشه ، اما در صورتی که حل نشد اطلاع بدید تا دنبال راه حل دیگری بگردیم.

و اما درباره نصب برنامه نظر بنده اینه که روی تک تک کلاینت ها نصب بشه (به خاطر سرعت اجرای برنامه و البته بار کمتری که به سرور تحمیل میشه) ، اگر اشتباه نکنم همکاران سیستم برنامشو روی سرور نصب میکنه و در واقع از سیستم کلاینت ها Shortcut به سرور میذاره (البته برای پشتیبانی و آپدیت کردن برنامه این روش راحت تری هست خصوصا اگر تعداد کلاینت ها زیاد باشه)
به هر صورت این مسئله سلیقه ای هست و وابسته به شرایط.


ارادتمند / محمد آشتیانی

gilsoft
جمعه 02 خرداد 1393, 18:25 عصر
و اما درباره نصب برنامه نظر بنده اینه که روی تک تک کلاینت ها نصب بشه (به خاطر سرعت اجرای برنامه و البته بار کمتری که به سرور تحمیل میشه) ، اگر اشتباه نکنم همکاران سیستم برنامشو روی سرور نصب میکنه و در واقع از سیستم کلاینت ها Shortcut به سرور میذاره (البته برای پشتیبانی و آپدیت کردن برنامه این روش راحت تری هست خصوصا اگر تعداد کلاینت ها زیاد باشه)
به هر صورت این مسئله سلیقه ای هست و وابسته به شرایط.

سلام دوست عزیز من

بله .. درست فرمودید .. همکاران سیستم برنامه‌شو روی Server نصب می‌کنه ...

من هم تعداد Userهام بیشتر از 2 الی 4 تا نیست .. و البته به پیشنهاد شما عمل می‌کنم و نرم‌افزارم رو روی کلاینت‌ها نصب می‌کنم ...

در آخر خیلی خیلی ممنونم از توضیحات شما ...