PDA

View Full Version : سوال: کانکت کردن چند تا نرم افزار کلاینت به سروری که دیتابیس روی اون نصب شده



hackman
دوشنبه 21 اسفند 1391, 19:32 عصر
یه نرم افزار دارم مینویسم که یه دیتابیس داره

این نرم افزار قراره تو یه شبکه داخلی روی چند تا سیستم نصب بشه

و همه ی سیستمها دیتابیس رو از روی یه سیستم که دیتابیس روی اون نصبه بخونن

میخوام یه تکست باکس تو نرم افزار بذارم با یه دکمه ی کانک

که وقتی دکمرو میزنن نرم افزار به IP ای تو تکست باکس نوشته شده وصل بشه و دیتا بیسو از روی اون بخونه

کد این دکمه چیه ؟؟؟

j_naroogha@yahoo.com
دوشنبه 21 اسفند 1391, 23:43 عصر
socket programming ....

j_naroogha@yahoo.com
سه شنبه 22 اسفند 1391, 00:00 صبح
try
{
Byte[] BytData = Encoding.Unicode.GetBytes(_Data);
Scksend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Scksend.Connect(_GetSrvAddr(), 1369);
Scksend.Send(BytData);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
}

hackman
سه شنبه 22 اسفند 1391, 14:53 عصر
کمک کنید دوستان

برنامه من فردا باید ران بشه

NasimBamdad
سه شنبه 22 اسفند 1391, 15:13 عصر
یه نرم افزار دارم مینویسم که یه دیتابیس داره

این نرم افزار قراره تو یه شبکه داخلی روی چند تا سیستم نصب بشه

و همه ی سیستمها دیتابیس رو از روی یه سیستم که دیتابیس روی اون نصبه بخونن

میخوام یه تکست باکس تو نرم افزار بذارم با یه دکمه ی کانک

که وقتی دکمرو میزنن نرم افزار به IP ای تو تکست باکس نوشته شده وصل بشه و دیتا بیسو از روی اون بخونه

کد این دکمه چیه ؟؟؟


برای اتصال به سرور و دیتابیس نیاز به سوکت ندارید . تنها یک Connection String لازم دارید .

اما برای اون لیست IP نیاز به Socket Programming دارید !

hackman
سه شنبه 22 اسفند 1391, 15:27 عصر
من کلا بلد نیستم این کاری رو که گفتین انجام بدم میشه کدشو برام بنویسین ؟؟؟

یه جورایی جوجه برنامه نویسم

AliSaeedi_v
سه شنبه 22 اسفند 1391, 16:13 عصر
سلام.اصلا چرا میخوای ip سرور رو بدست بیاری..نیازی نیست..به جاش یه تیکه کد هست که نام کلیه سرور های sql موجود در شبکه رو بر میگردونه.اگه هم که نام سرور اس کیو ال ثابته توی کانکشن استرینگ اونو بنویس خود برنامه توی شبکه میگرده پیداش میکنه و بهش وصل میشه..البته تنظیمات شبکه مربوط به اس کیو الی که روی سرورت نصب کردی فراموش نکنی..من ازین روش استفاده کردم و جواب گرفتم و حتی برنامه نویسی شبکه هم بلد نیستم

hackman
چهارشنبه 23 اسفند 1391, 12:18 عصر
سلام.اصلا چرا میخوای ip سرور رو بدست بیاری..نیازی نیست..به جاش یه تیکه کد هست که نام کلیه سرور های sql موجود در شبکه رو بر میگردونه.اگه هم که نام سرور اس کیو ال ثابته توی کانکشن استرینگ اونو بنویس خود برنامه توی شبکه میگرده پیداش میکنه و بهش وصل میشه..البته تنظیمات شبکه مربوط به اس کیو الی که روی سرورت نصب کردی فراموش نکنی..من ازین روش استفاده کردم و جواب گرفتم و حتی برنامه نویسی شبکه هم بلد نیستم

خب اینی ه گفتی دقیقا ینی چی دوست عزیز ؟؟؟

hackman
پنج شنبه 24 اسفند 1391, 11:32 صبح
یکی کمک کنه
من باید چیکار کنم ؟؟؟؟

AGENT-20
پنج شنبه 24 اسفند 1391, 11:57 صبح
نیاز به سوکت نیست
کافی کانکشن استرینگ رو به صورت زیر تعریف کنی

SqlConnection cn = new SqlConnection
("Data Source= "IP Server" ;Initial Catalog= "Database Name" ;Integrated Security=True");

hackman
پنج شنبه 24 اسفند 1391, 12:09 عصر
نیاز به سوکت نیست
کافی کانکشن استرینگ رو به صورت زیر تعریف کنی

SqlConnection cn = new SqlConnection
("Data Source= "IP Server" ;Initial Catalog= "Database Name" ;Integrated Security=True");

اینو کجا باید بنویسم ؟؟؟

hackman
پنج شنبه 24 اسفند 1391, 16:33 عصر
میشه یکی بهم بگه این کانکشنو کجا باید بنویسم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟

hackman
یک شنبه 11 فروردین 1392, 10:51 صبح
سلام من برای کانکشن استرینگم یه تکست باکس گذاشتم و با یه باتن و تو رویداد کلیک باتنم این کد رو نوشتم ...

string sip = serverIP.Text;
SqlConnection connection = new SqlConnection("Data Source=" + sip + " ;Initial Catalog= Parking_Database ;Integrated Security=True");
connection.Open();

اما بعد از زدن باتن این ارورو میده :


A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

مشکلش چیه ؟

ali_habibi1384
یک شنبه 11 فروردین 1392, 12:45 عصر
سلام من برای کانکشن استرینگم یه تکست باکس گذاشتم و با یه باتن و تو رویداد کلیک باتنم این کد رو نوشتم ...

string sip = serverIP.Text;
SqlConnection connection = new SqlConnection("Data Source=" + sip + " ;Initial Catalog= Parking_Database ;Integrated Security=True");
connection.Open();

اما بعد از زدن باتن این ارورو میده :



مشکلش چیه ؟
بايد بصورت SqlAutentication وصل بشي به سرور و يوزر پسورد واسه اتصال به اين نوع كانكشن نياز داري.اما شما نذاشتي

veniz2008
یک شنبه 11 فروردین 1392, 13:13 عصر
یه نرم افزار دارم مینویسم که یه دیتابیس داره

این نرم افزار قراره تو یه شبکه داخلی روی چند تا سیستم نصب بشه

و همه ی سیستمها دیتابیس رو از روی یه سیستم که دیتابیس روی اون نصبه بخونن

میخوام یه تکست باکس تو نرم افزار بذارم با یه دکمه ی کانک

که وقتی دکمرو میزنن نرم افزار به IP ای تو تکست باکس نوشته شده وصل بشه و دیتا بیسو از روی اون بخونه

کد این دکمه چیه ؟؟؟
سلام.
در لینک زیر یه ویدئوی آموزشی هست که مراحل کا رو بصورت کامل توضیح داده.
http://barnamenevis.org/showthread.php?387720-%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%AA%D8%AD%D8%AA-%D8%B4%D8%A8%DA%A9%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%AA%D8%AD%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-SQL-SERVER&highlight=%D8%B4%D8%A8%DA%A9%D9%87+%DA%A9%D8%B1%D8 %AF%D9%86+%D9%86%D8%B1%D9%85+%D8%A7%D9%81%D8%B2%D8 %A7%D8%B1
موفق باشید.

hackman
سه شنبه 13 فروردین 1392, 21:30 عصر
دوستان برا اینکه این کانکشن استرنگ کار کنه باید sql server رو سیستم نصب باشه ؟؟؟
رو سیستم من visual studio هست جواب نمیده ؟؟؟

veniz2008
سه شنبه 13 فروردین 1392, 21:34 عصر
دوستان برا اینکه این کانکشن استرنگ کار کنه باید sql server رو سیستم نصب باشه ؟؟؟
رو سیستم من visual studio هست جواب نمیده ؟؟؟
sql server باید روی سیستم سرور نصب باشه. روی کلاینت ها یک exe از برنامه بذارید و نیازی به sql ندارید.
اگر خطا میده متن خطا یا بهتر اونه که یه عکس از خطا بگیرید و بزارید.

hackman
چهارشنبه 14 فروردین 1392, 18:38 عصر
دوست عزیز ممنون از راهنماییت

الان که من در حال نوشتن برنامه هستم هم لازمه که sql server داشته باشم ؟

چون وقتی 127.0.0.1 رو هم میزنم همون پیامی که بالا نوشتمو میده

hackman
چهارشنبه 14 فروردین 1392, 19:44 عصر
102258

اسکیو ال نصب کردم اون تنظیماتی هم که توی اون فیل آموزشی بود انجام دادم
حالا این پیامو میده
مشکل از login فک کنم
تو اسکیوال اونجا که login name وpassword رو تعریف میکنم از اون اسم کجای کدم باید استفاده کنم ؟؟؟

veniz2008
چهارشنبه 14 فروردین 1392, 20:55 عصر
102258
تو اسکیوال اونجا که login name وpassword رو تعریف میکنم از اون اسم کجای کدم باید استفاده کنم ؟؟؟
یوزر و پسورد رو باید در کانکشن استرینگ استفاده کنید :

Data Source = 192.168.0.1,1433;Network Library = DBMSSOCN;Initial Catalog = university;User ID=asus1;Password = 12345
موفق باشید.

hackman
چهارشنبه 14 فروردین 1392, 21:06 عصر
بايد بصورت SqlAutentication وصل بشي به سرور و يوزر پسورد واسه اتصال به اين نوع كانكشن نياز داري.اما شما نذاشتي

دوست عزیز چه جوری باید به دیتابیسم یوزر و پسوورد بدم ؟؟؟ کلا نداره

veniz2008
چهارشنبه 14 فروردین 1392, 21:15 عصر
دوست عزیز چه جوری باید به دیتابیسم یوزر و پسوورد بدم ؟؟؟ کلا نداره
معلومه اون فیلم اموزشی رو خوب نگاه نکردی وگرنه این سوال رو نمی پرسیدی. برو دوباره ببین داخلش هست.
موفق باشی.

hackman
چهارشنبه 14 فروردین 1392, 21:51 عصر
من دقیقا تمام کارهایی که تو اون فیلم بود انجام دادم

ولی فک میکنم وقتی توی اسکیوال login میسازم باید اینو یه جایی تو کد برنامم معرفی کنم دیگه

خب من تو کانکشن استرینگ گذاشتم ولی بازم error login میده
این کد کانکشن استرینگمه

string sip = serverIP.Text;
string cnnstr = "network library = dbmssocn ; Data Source=" + sip + " ;Initial Catalog= Parking_Database ;user id = majid;Password = 1367 ";
SqlConnection connection = new SqlConnection(cnnstr);
connection.Open();

تو اسکیو ال لاگینمو اینجوری تعریف کردم
login name : majid
password : 1367

دیتابیسم هم بدون یوزر و پسوورده
اصن نمیدونم چ جوری روش یوزرو پسوورد بذارم چون تو همون ویِِژوال تو قسمت solution explorer اددش کردم

aloneman2005
چهارشنبه 14 فروردین 1392, 22:13 عصر
می تونی از این استفاده کنی.
Data Source=IP_Server;Initial Catalog=MYDatabase;Persist Security Info=True;User ID=SA;Password=Mypassword

korosh00
چهارشنبه 14 فروردین 1392, 22:40 عصر
دوست عزیز من قبلا این کارو کردم الان سی شارپ رو سیستمم نصب نیست برنامه اش را هم ندارم فقط یک نکته بسیار مهم بهت بگم که نکته طلایی هست و اون اینکه وقتی آی پی سرور را دادی باید فایروال را خاموش کنی و تو برنامه اس کیو ال سرور تو ی قسمتی باید دیتابیس را حالت نتورک بدی تا تحت شبکه به راحتی کار کنه . پس اون کانکشنی که دوستان دادند را بنویس و این نکته را برو به هیچ مشکلی برنمی خوری نیاز به سوکت نویسی هم نداری .

hackman
جمعه 16 فروردین 1392, 04:02 صبح
معلومه اون فیلم اموزشی رو خوب نگاه نکردی وگرنه این سوال رو نمی پرسیدی. برو دوباره ببین داخلش هست.
موفق باشی.

دوست عزیز من تمام اعمال اون فیلمو اجرا کردم

ولی ارور لاگین میده

مشکل از چی ممکنه باشه ؟؟؟ نکته ی خاصی به ذهنت نمیرسه ؟؟؟

veniz2008
جمعه 16 فروردین 1392, 10:28 صبح
من فرض رو بر این میگیریم که شما تمام نکات اون فیلم آموزشی رو رعایت کردید (و قطعا فایروال رو هم مد نظر داشتید که اجازه دسترسی به برنامه رو بده). تنها چیزی که باقی میمونه اینه:
چند نسخه sql روی سیستم دارید؟ (مثلا ممکنه روی سیستم نسخه های 2005 و 2008 داشته باشید).
چه نسخه ای رو به عنوان server برای پروژه استفاده کردید؟

hackman
جمعه 16 فروردین 1392, 17:45 عصر
من فرض رو بر این میگیریم که شما تمام نکات اون فیلم آموزشی رو رعایت کردید (و قطعا فایروال رو هم مد نظر داشتید که اجازه دسترسی به برنامه رو بده). تنها چیزی که باقی میمونه اینه:
چند نسخه sql روی سیستم دارید؟ (مثلا ممکنه روی سیستم نسخه های 2005 و 2008 داشته باشید).
چه نسخه ای رو به عنوان server برای پروژه استفاده کردید؟

اینو که گفتی نفهمیدم
چ جوری باید تعیین کنم که چه نسخه ای سرور باشه ؟؟؟

veniz2008
جمعه 16 فروردین 1392, 22:21 عصر
اینو که گفتی نفهمیدم
چ جوری باید تعیین کنم که چه نسخه ای سرور باشه ؟؟؟
اگر دو نسخه از sql داشته باشید (مثلا 2005 و 2008). زمان نصب sql از شما میپرسه که Default Instance باشه یا خودتون واسه sql نامگذاری انجام می دید. اکثرا همون Default Instance میذارن باقی بمونه که sql هم نام "MSSQLSERVER" رو در نظر میگیره. حالا زمانیکه میخواید نسخه جدید sql رو نصب کنید دیگه اجازه نمیده که Default Instance بذارید و حتما باید یه نام برای sql خودتون در نظر بگیرید.
با این توضیح میرم سراغ اصل مطلب.اگر دو نسخه از sql نصب دارید و میخواید که مثلا با sql 2008 برنامه رو راه اندازی کنید، در هنگام config کردن sql دیگه پورت 1433 رو نمیتونید استفاده کنید چراکه این پورت به اولین نسخه از Sql ای که روی سیستم نصب کردید اختصاص داده شده (همون MSSQLSERVER) و حتما باید از یک شماره پورت جدید استفاده کنید و همون instance مربوط به نسخه 2008 رو restart کنید نه MSSQLSERVER رو که مربوط به نسخه 2005 هستش.
برای فهمیدن شماره پورت جدید کافیه بعد از ری استارت کردن instance نسخه sql خودتون دوباره به همون محلی که پورت 1433 رو وارد کردید برید. مشاهده خواهید کرد که یک شماره پورت جدید بهتون اختصاص داده که باید در کانکشن استرینگ برنامه از همین شماره پورت استفاده کنید نه از شماره پورت 1433 .

hackman
شنبه 17 فروردین 1392, 14:56 عصر
اگر دو نسخه از sql داشته باشید (مثلا 2005 و 2008). زمان نصب sql از شما میپرسه که Default Instance باشه یا خودتون واسه sql نامگذاری انجام می دید. اکثرا همون Default Instance میذارن باقی بمونه که sql هم نام "MSSQLSERVER" رو در نظر میگیره. حالا زمانیکه میخواید نسخه جدید sql رو نصب کنید دیگه اجازه نمیده که Default Instance بذارید و حتما باید یه نام برای sql خودتون در نظر بگیرید.
با این توضیح میرم سراغ اصل مطلب.اگر دو نسخه از sql نصب دارید و میخواید که مثلا با sql 2008 برنامه رو راه اندازی کنید، در هنگام config کردن sql دیگه پورت 1433 رو نمیتونید استفاده کنید چراکه این پورت به اولین نسخه از Sql ای که روی سیستم نصب کردید اختصاص داده شده (همون MSSQLSERVER) و حتما باید از یک شماره پورت جدید استفاده کنید و همون instance مربوط به نسخه 2008 رو restart کنید نه MSSQLSERVER رو که مربوط به نسخه 2005 هستش.
برای فهمیدن شماره پورت جدید کافیه بعد از ری استارت کردن instance نسخه sql خودتون دوباره به همون محلی که پورت 1433 رو وارد کردید برید. مشاهده خواهید کرد که یک شماره پورت جدید بهتون اختصاص داده که باید در کانکشن استرینگ برنامه از همین شماره پورت استفاده کنید نه از شماره پورت 1433 .

خب پس مشکل من این نیست
وقتی میخام کانکت بشم دقیقا این ارور نمایش داده میشه
این مربوط به لاگینه
درصورتی که من یوزر و پسووردم دقیقا همونیه که تو سیکوئلم زدم

102393