PDA

View Full Version : آدرس ConnectionString در شبکه و مشکلات



mohsen_f_b
شنبه 28 شهریور 1388, 17:54 عصر
سلام
پیشا پیش عیدتان مبارک
لطفا دوستان راهنمایی کامل کنید.

من یک برنامه نوشتم که بانک اطلاعاتی اونSQL Serevr 2008 هستش.
می خوام این برنامه رو روی چند سیستم اجرا کنم با همون یک بانک؟
دوستان قبلا گفتند باید توی Connection String ای پی سرور رو بدم ولی نشد.
با این مشکل بر خوردم.
عکس خطا (http://irani-soft.persiangig.com/ConnectionString.JPG)


شبکه WorkGroup هستش.
چه کار باید انجام بدم؟
لطفا یک نمونه کد برام بزارین؟
آیا باید تو sql Server باید تغییرات بدم؟
سرویسی باید RUN کنم؟
آیا باید پورتی رو باز کنم؟
آیا برنامه خاصی باید نصب کنم؟

هرکی بلده لطفا Help.
با تشکر

AliRezaPro
شنبه 28 شهریور 1388, 20:28 عصر
برای RemoteConnection هست
منم همین مشکل رو داشتم

به SQL Server Surface Area Configuration رفته
سپس برروی Surface Area Configuration for service and connetion کیک کرده . remot connection را انتخاب کرده و از میان گزینه ها گزینه ی using both tcp/ip and named pipes را انتخاب کنید. تا بدین شکل هم به وسیله ip و هم نام کاپیوتر بتوانید به آن متصل شوید.

M.YasPro
شنبه 28 شهریور 1388, 22:30 عصر
سلام
خطا از متن connection string هست
به این سایت یه سری بزنین
http://connectionstrings.com/

mohsen_f_b
یک شنبه 29 شهریور 1388, 00:01 صبح
برای RemoteConnection هست
منم همین مشکل رو داشتم

سلام
مراحلی رو که گفتین اجرا کنم و بعد این Connection رو به صورت زیر تعریف کنم؟


Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

corona
یک شنبه 29 شهریور 1388, 09:50 صبح
سلام دوست من . ببین برای برنامه های تحت شبکه من با sql server enterprise کار می کنم نه Express Edition . کاری که من کردم و جواب هم گرفتم این بود که رو سیستم اصلیم یا به عبارتی روی سیستم سرور Sql Server Enterprise رو نصب کردم و دیتابیسم رو روش Attach کردم و یک یوزر برا دیتابیس ساختم و پسورد هم براش ست کردم ( تو محیطSql server enterprise management studio) بعد توی همون محیط که هستی رو اسم سرور کلیک راست کن و از از این پنچره از سمت چپ security رو انتخاب کن و قسمت Server Authentication رو بزار رو حالت Sql server and Windows Authentication Mode و ok کن با این کار میتونی از طریق اون یوزری که برا دیتابست ساختی به sql server لاگین کنی . تاکید می کنم که من از SqlExpress استفاده نکردم . فقط یک نکته این که روی یوزری که ساختی کلیک راست کن و بعد Propertis و بعد از قسمت Status مطمئن شو که رادیو باتون Enabled فعال باشه . خوب حالا دیگه میمونه فقط کانکشن استرینگت که اونم به این صورت استفاده کن


private static SqlConnection conMain = new SqlConnection(@"data source = MOYA-LAP\MOHAMMADSERVER ; database = saham; user id = sa ; password = moyamoya");

قسمت Data Source رو باید اسم کامپیوتر سرور و اسم اون نسخه ای از Sql server (در واقع instance name) که ازش استفاده می کنی بزاری برا من MOYA_LAP اسم کامپیوترم و MOHAMMADSERVER هم instancename ام هستش که موقع نصب Sqlserver میتونی هر چی دوست داری بزاری . database iهم که نام دیتابیست که تو سرور اتچ کردی و user id و password هم همون یوزری هست که ساختی تو Sqlserver . مطمن باش این روش جواب میده . فقط برا لاگین شدن به Sqlserver از تو کد سی شارپ دوستام می گفتن که با windows Ahthenctixcation هم میشه این کارو کرد و نیازی به ساخت یوزر نیست فقط کافیه کامپیوترات همشون تو یک workgroup باشن ولی من تست کردم و جواب نگرفتم . در ضمن یکی دیگه از دوستام هم با SqlExpress گفت تونسته همه این کارا رو انجام بده با یکم تنظیمات بیشتری که لازمه ولی من خودم با Express تست نکردم . موفق باشی

mohsen_f_b
دوشنبه 30 شهریور 1388, 19:16 عصر
سلام
نشد:عصبانی++:نشد:عصبانی++:نشد :عصبانی++:

من به 5 صورت تست کردم نشد.
کدها همراه با پیغام های خطا رو می زارم.

1-

http://irani-soft.persiangig.com/Conn/1.JPG



SqlConnection cn = new SqlConnection(@"data source = 192.168.10.10,1433 ; database = MaktobatAndSoot; user id = sa ; password = Aa123456");
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Select Max(ID) From PDF",cn);
da.Fill(dt);


2-

http://irani-soft.persiangig.com/Conn/2.JPG



SqlConnection cn = new SqlConnection(@"data source = ADMIN-MAKTOBAT ; database = MaktobatAndSoot; user id = sa ; password = Aa123456");
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Select Max(ID) From PDF",cn);
da.Fill(dt);





3-

http://irani-soft.persiangig.com/Conn/3.JPG




SqlConnection cn = new SqlConnection(@"data source = ADMIN-MAKTOBAT\MAKTOBAT-4BF70C ; database = MaktobatAndSoot; user id = sa ; password = Aa123456");
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Select Max(ID) From PDF",cn);
da.Fill(dt);


4-

http://irani-soft.persiangig.com/Conn/4.JPG



SqlConnection cn = new SqlConnection("Data Source=192.168.10.10,1433;Network Library=DBMSSOCN;Initial Catalog=MaktobatAndSoot;User ID=sa;Password=Aa123456;");
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Select Max(ID) From PDF",cn);
da.Fill(dt);



5-

http://irani-soft.persiangig.com/Conn/5.JPG




SqlConnection cn = new SqlConnection("data source = ADMIN-MAKTOBAT,1433 ; database = MaktobatAndSoot; user id = sa ; password = Aa123456");
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Select Max(ID) From PDF", cn);
da.Fill(dt);



حالا چه کنم؟
باتشکر

mohsen_f_b
سه شنبه 31 شهریور 1388, 23:15 عصر
سلام
پس چی شد؟

لطفا کمک کنید:متفکر:

mohsen_f_b
جمعه 03 مهر 1388, 10:38 صبح
سلام
همه چیز حل شد.
میزارم تا اگه کسی مشکل داشت حل بشه.

راه حل :

باید SQL Server رو بسته ی Personal Edition اش رو نصب کنید و این مهم ترین کاری که باید انجام بدید . البته این رو فقط باید روی سرور نصب کنید .


بعد از یک هفته همه چیز حل شد.
با تشکر از همه دوستان

sohrab_poet
جمعه 03 مهر 1388, 11:02 صبح
من این کار رو با sql server express 2005 انجام دادم و جواب گرفتم.
رو کامپیوترهای کلاینت هیچی نمیخواد نصب کنی و فقط با داشتن connection string میتونن به سروز وصل بشن ولی رو سرور sql server express2005 لازم هستش که نصب بشه.
همچنین واسه یک سری تنظیم ها باید sql server management studio را هم روی سرور نصب داشته باشی.