PDA

View Full Version : حرفه ای: اساتید محترم چجوری از شر این ارور برای برقراری ارتباط با دیتابیس روی اینترنت خلاص شم ؟؟؟؟



iranian_genius
پنج شنبه 27 مرداد 1390, 11:11 صبح
برای برقراری ارتباط از سی شارپ به پایگاه داده اسکیوال روی اینترنت از کانکشن استرینگ زیر استفاده میکنم:


SqlConnection sqlconnectionName = new SqlConnection("Data Source=190.190.190.190,80 ;Network Library=DBMSSOCN;Initial Catalog= DBName;User ID=Username ;Password=Pass;");

و بعد با تابع
sqlconnectionName.Open(); میخوام این کانکشن رو باز کنم اما روی همین تابع اوپن ارور زیر رو میده :

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

چکارکنم؟؟؟ اشکال از چیه؟؟؟؟

جان من واجبه کمک کنید.......

linux
پنج شنبه 27 مرداد 1390, 11:56 صبح
آدرس دیتاسورست اشتباه هست آن 80 آخری چیه؟

iranian_genius
پنج شنبه 27 مرداد 1390, 12:12 عصر
آدرس دیتاسورست اشتباه هست آن 80 آخری چیه؟


اعدادی که به کار رفته به ضورت ضمنی( مثالی ) هست . اون 80 پورتی هست که روی اون به آدرس آیپی مربوطه وصل میشه .

البته واقعا با پورت 80 میخوام بهش وصل شم. چجوری باید از شر این ارور time out خلاص شم؟؟؟؟

hamednazarzadeh
پنج شنبه 27 مرداد 1390, 13:01 عصر
این ارور به خاطر عدم توانایی در برقراری ارتباط با پایگاه داده هست . حالا یا آی پی و پورت رو اشتباه زدی ، یا اسم دیتابیست یا اصلا دیتابیست attach نشده روی سرور .
این موارد رو بررسی کن ببین مشکل از کدومه

georgiaro
پنج شنبه 27 مرداد 1390, 13:54 عصر
1-این مشکل به خاطر کند بودن سرعت اینترنت (که تو ایران زیادم عجیب نیست) میتونه باشه. زمان timeout رو زیاد کنید.
2-پورت ارتباط با sqlServer پورت 1433 هست نه 80

iranian_genius
پنج شنبه 27 مرداد 1390, 13:57 عصر
1-این مشکل به خاطر کند بودن سرعت اینترنت (که تو ایران زیادم عجیب نیست) میتونه باشه. زمان timeout رو زیاد کنید.
2-پورت ارتباط با sqlServer پورت 1433 هست نه 80

دوست عزیز دیتابیسی که میخوام بهش وصل شم پورت 1433 رو بسته و فقط از طریق یک برنامه خواص با پورت 80 جواب میده( شرکتی که میخوام به دیتابیسش وصل شم برای بالا بردن امنیت این کارو کرده)

بعد هم اگر هر چیز دیگه ای به نظرتون میرسه بهم بگید و اینکه با چه دستوری time out رو زیاد تر کنم؟

ممنون

iranian_genius
پنج شنبه 27 مرداد 1390, 15:37 عصر
کد سی شارپ2008 برای تغییر دادن time out یک کانکشن به دیتابیس چی هست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

علیرضا حسن زاده
پنج شنبه 27 مرداد 1390, 15:55 عصر
آخر خودتون دست به کار شدین؟
اگه روی امنیتش کار کردن شما همین جوری و با اون کانکشن استرینگ نمی تونید به دیتابیس وصل بشید
اصلا ببنید برنامه دیگه ای هست که بتونه به صورت Remote به اون دیتا بیس وصل بشه؟(ممکنه اجازه کانکت شدن به صورت Remote رو غیر فعال کده باشن؟)

iranian_genius
پنج شنبه 27 مرداد 1390, 16:06 عصر
سلام عزیز.
نه فقط دارم یه سری چیزا که به ذهنم میرسه تست میکنم.
اره خفن رو امنیتش کار کردن.

اگر یه کانکشن سالم به دیتا بیسش بزنم میشه یه کارایی کرد..... نمیدونم

اره برنامه مربوط به نمایندگیها هست (ساخت خود شرکت)که با یک آدرس آیپی و پورت80 به سرور وصل میشه و اطلاعات رو از دیتابیس میخونه و مینویسه ..

با این حساب ما هم باید بتونیم با همون آیپی و پورت به دیتابیسش وصل شیم دیگه. نه؟؟؟ فقط دستور صحیح لازمه ..!!!
الانم گیر این Time Out هستم.

توی تابع connection.open() این error رو میده :
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

میخوام time out رو ببرم بالا ببینم دیگه چه اروری میده . اما دستورشو گیج شدم. نمیدونم ؟؟

iranian_genius
پنج شنبه 27 مرداد 1390, 17:33 عصر
پست قبلی رو بخونید و کمک کنید لطفا؟؟؟

ارور زیر موقع برقراری اتصال به دیتابیس روی اینترنت علتش چیه؟ :

Internal connection fatal error.

iranian_genius
پنج شنبه 27 مرداد 1390, 22:08 عصر
علت این ارور که موقع اتصال به دیتابیس میده چیه؟

Internal connection fatal error.

کانکشن استرینگ تو پستای قبلی هست...

georgiaro
پنج شنبه 27 مرداد 1390, 23:07 عصر
این ارور رو نمیدونم واسه چیه ولی اگر میخواین زمان Timeout رو افزایش بدین باید به connectionString این جمله رو اضافه کنید
Connect Timeout=X
با سمی کالم از بقیه connectionString جداش کنید و مفدار مورد نظرتون رو بعد مساوی قرار بدین (مقدار دیفالت 15 ثانیه است)

vira1368
جمعه 28 مرداد 1390, 00:25 صبح
ارور روی تابع connection.open() همیشه دیدم مربوط به Database هست(یا attach نشده یا آدرس اشتباه یا فرمت data source رو اشتباه نوشتی یا ...:متفکر:)
به نظر من از داخل Server Explorer به Database وصل شو ببین اصلا میتونی بهش وصل بشی؟ (روی Data Connection راست کلیک کن بعد Add Connection رو بزن و باقیشو بلدی!)
اگه وصل شد داخل همون Server Explorer روی connection راست کلیک کن properties بگیر و مقدار Connection String رو بنویس برای connection.
امیدوارم جواب بگیر، موفق باشید!