PDA

View Full Version : مشکل در ConnectionString در کار با کامپیوتری که در domain server کار میکند



hamidetmu
چهارشنبه 30 تیر 1395, 09:42 صبح
با سلام واحترام
کامپیوتر من در یک domain داره کار میکنه که من نام کاربری fanvari5 و رمز خودم رو برای ورود به ونیدوز دارم و بقیه همکارم هم id و pass خودشون رو دارند اطلاعات ما در یک Active directory در شرکت شهرستان مرکزمون ثبت شده و اطلاعات مارو در Dns ایجاد کردند و ما در قسمت domain در system name کنترل پنلمون همگی آدرس s.t.com رو به عنوان domain وارد کردیم . الان من یک برنامه نوشتم که روی سیستم خودم اجرا میشه اما میخوام فایل برنامم رو ببرم رو سیستم همکارم و دیتابیسش رو روی سیستم خودم نگه دارم و با یک کانکشن وصل شم واطلاعات دیتابیسم رو از طریق شبکه واکشی کنم و یه کلاس db_con نوشتم که عکسش رو براتون میذارم ، این برنامه رو سیستم خودم با ip ای که تو کانکشن استرینگ دادم که ip خودمه داره کارمیکنه اما وقتی میبرمش رو سیستم همکارم اجرا نمی شه یک خط کد message box که State کانکشنم رو نشون میده بعد از کانکشن استرینگ گذاشتم که ببینم از این خط رد میشه یا نه می بینم اصن از کانکشن رد نمی شه و پیغام خطا میده ، جالبه من نرم افزار sqlserver 2012 رو سیستم همکارم نصب کردم اونجا که نرم افزار رو باز میکنم و در قسمت سرور سیستم خودم رو انتخاب میکنم با اون لاگینی که توسیستم خودم ساختم ، میتونم به دیتابیسای روی سیستم خودم وصل شم و باهشون کارکنم اما وقتی برنامه اجرا میشه و میخواد از همون دیتابیسی استفاده کنه که من با sqlserver از رو سیستم همکارم دیدمش ، نمیتونه برنامه رو اجرا کنه و خطای زیر رو رو سیستم همکارم که اسمش fanavari6 هس رو میده به نظر شما مشکل از Domain server ای که من در اون هستم که اجازه ی این ارتباط رو نمیده یا مشکل چیز دیگریه ؟ میشه من رو راهنمایی کنید ببخشید اینقدر توضیح دادم آخه الان 3 ماهه رو این مشکل دارم کار میکنم ایشالا که با کمک شما حل میشه من دلم روشنه 141575141576

دلتنگ اسمان
چهارشنبه 30 تیر 1395, 11:30 صبح
با سلام
ظاهرا به sql وصل میشه فقط به کاربری s-t خطا میگیره.
این کاربر چیه؟ ویندوزه یا Sql ؟

hamidetmu
چهارشنبه 30 تیر 1395, 12:14 عصر
میدونید ما توی domain ای هستیم که اسمش s-t، ومن برنامه رو بردم رو سیستم همکارم که اسمش fanavri6 اه ، حالا ارور میده که s-t\fanavari6 نمی تونه لاگین کنه یعنی یوزر fanavari6 که تو دامینه s-t وجود داره نمی تونه لاگین کنه ، به نظرتون باید اون سرور اکتیو دایرکتوریمون تنظیمات خاصی روش انجام بشه تا اجازه کانکشن استرینگ بده ؟ من دسترسی و مجوز کار با سرور اکتیو دایرکتوری رو ندارم اگه میشه بررسی بفرمایید راه حلی به من بدید

خیلی خیلی ممنون

دلتنگ اسمان
چهارشنبه 30 تیر 1395, 13:54 عصر
کانکشن استرینگ رو به این صورت تنظیم کن :

connectionString="Data Source=ServerName;Initial Catalog=yourdatabace;User Id =domain\userx;Password = abc"

hamidetmu
پنج شنبه 31 تیر 1395, 11:59 صبح
سلام من کانکشن رو طبق گفته ی شما تغییر دادم و توی userId اسم کامپیوتر خودم که fanavari5 به این صورت s-t.com\fanavari5 نوشتم و کلمه عبور هم پسورد سیستم خودم توی domain که 11111 رو نوشتم رو سیستم خودم جواب میده اما رو سیستم کلاینت جواب نمیده وباز همون ارور بالا تکرار میشه
SqlConnection Connection = new SqlConnection("Data Source=10.72.83.154;Initial Catalog=bargasht;Integrated Security=True;User ID=s-t.com\fanavari5;Password=11111;");

البته من تو دیتابیسم یک لاگین ساختم به اسم ab با پسورد 123456 که به دیتابیس bargasht ارتباطش دادم
به نظرتون راه حل چیه که من ارور بالا رو از بین ببرم و در سیستم همکارم ازش run بگیرم

Naghibi
پنج شنبه 31 تیر 1395, 12:19 عصر
سلام، یعنی شما می خواین به ازای هر اپراتوری که با سیستم کار میکنه یه نام کاربری داشته باشین؟ به نظرم اپراتورها رو با سطح دسترسی توی برنامه مشخص کنین و برای کانکشن استرینگ فقط یه user داشته باشین. اون user هم اگه خاصیت db_owner داشته باشه خطای loginFailed برطرف میشه

hamidetmu
پنج شنبه 31 تیر 1395, 13:49 عصر
با سلام واحترام
نه من نمی خام به هر اپراتوی یه کاربری بدم . من فقط می خام از رو سیستم همکارم به کامپیوتر خودم وصل شم البته با sql server به کامپیوتر خودم وصل میشه اما برنامه کانکشنش کار نمی کنه
من لاگین ab رو تو sql server ام ساختم و خاصیت db_owner رو هم به اون دادم و فقط هم همین یک یوزر رو هم دارم یوزر دیگری ندارم اما اصلن برنامم خط کانکشن استرینگ رو رد نمی کنه و من احتمال میدم به خاطر بودن کامپیوتر من در Domain باشه
کامپیوتر همکارم که fanavari6 اه نمی تونه کانکشن رو رد کنه و ارور میده که login failed for s-t.com\fanavari6
به نظرتون راه حل چیه ؟

دلتنگ اسمان
پنج شنبه 31 تیر 1395, 14:01 عصر
من یه برنامه نوشتم تحت شبکه ست. اما سرورم workgroup هستش. منظورم از سرور یعنی سیستمی که Sql برنامه روش نصبه و کلاینتها بهش وصل میشن.
کلاینتها هم چه workgroup و چه دامین بهش وصل میشن و مشکلی نداره.
این هم کانکشن :

string ConnectionString = @"Data Source=d-pc;Initial Catalog=matab;User ID = user1;Password=123;";
اما sql رو بصورت sql authentication قرار دادم.

hamidetmu
پنج شنبه 31 تیر 1395, 14:35 عصر
سلام
من کد بالا رو هم امتحان کردم ارور زیر رو میده به نظرتون مشکل چیه ؟
...

hamidetmu
پنج شنبه 31 تیر 1395, 14:58 عصر
متن خطا هم اینه :
Time out expired . the time out period elapsed to completion of the operation or the server is not responding

Mahmoud.Afrad
پنج شنبه 31 تیر 1395, 15:45 عصر
سلام من کانکشن رو طبق گفته ی شما تغییر دادم و توی userId اسم کامپیوتر خودم که fanavari5 به این صورت s-t.com\fanavari5 نوشتم و کلمه عبور هم پسورد سیستم خودم توی domain که 11111 رو نوشتم رو سیستم خودم جواب میده اما رو سیستم کلاینت جواب نمیده وباز همون ارور بالا تکرار میشه
SqlConnection Connection = new SqlConnection("Data Source=10.72.83.154;Initial Catalog=bargasht;Integrated Security=True;User ID=s-t.com\fanavari5;Password=11111;");

البته من تو دیتابیسم یک لاگین ساختم به اسم ab با پسورد 123456 که به دیتابیس bargasht ارتباطش دادم
به نظرتون راه حل چیه که من ارور بالا رو از بین ببرم و در سیستم همکارم ازش run بگیرم

Integrated Security=True; را از کانکشن حذف(یا false کنید) و تست کنید.

لینک زیر را هم ببینید
http://www.connectionstrings.com/sqlconnection/connect-via-an-ip-address

hamidetmu
پنج شنبه 31 تیر 1395, 20:14 عصر
من بسیار بسیار از سایتتون استفاده کردم و از مهندسین عالی قدر سایتتون کمال تشکر رو دارم ، با پیگیری ها و پاسخگویی بسیار به جاشون مشکل برنامم حل شد اما توی این پرسشو پاسخ ها من یک عکس از برنامم گذاشتم که سرپرستم به من ایراد گرفت و مورد مواخذه واقع شدم امکانش هست که آخرین عکس اروری که من گذاشتم رو پاک کنید ؟ بسیار بسیار من رو مورد محبت خودتون قرار می دید اگر عکس رو از رو سرور حذف کنید ، به من اطلاع بدید.

hamidetmu
سه شنبه 05 مرداد 1395, 07:33 صبح
با سلام به برنامه نویسان زبردست
من مشکل قبلیم حل شد یعنی با حذف کردن Integrated Security=True; از کانکشن تونستم تو دامین برنامم رو اجرا کنم اما وقتی میخوام فایل دتچ شده ی دیتابیسم رو روی یک سیستمی ببرم که به شبکه وصل نباشه و داخل دامین نیست ، از کانکشن زیر استفاده می کنم اما موقع اجرا روی سیستم کلاینت ارور زیر رو میده
141651
کانکشن استرینگ :
SqlConnection Connection = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDire ctory|\\bargasht.mdf;Integrated Security=false ");


برنامه رو سیستم خودم اجرا میشه اما فایل نصب برنامه رو سیستم کلاینت اجرا نمیشه ، میشه راهنمایی بفرمایید که چرا از خط connection رد نمی شه و ارور بالا رو میده