PDA

View Full Version : سوال: ارتباط با بانك SQL در شبكه با IP قابل تغيير براي كاربر



منتظران منتظر
چهارشنبه 14 مهر 1389, 00:53 صبح
با سلام خدمت دوستان عزيز
مشكلي در رابطه با اتصال به بانك sql server 2005 دارم به اين صورت كه كاربر خودش بتواند آي پي سرور را توسط يك تكست باكس وارد كند و به سرور متصل شود . بنده از روش زير استفاده مي كنم ولي اين روش موقعي جواب مي دهد كه از قبل آي پي را در برنامه قرار دهيم و قابل تغيير نيست.


con = New SqlConnection("Data Source=192.168.1.1;Initial Catalog=Bank;Integrated Security=True")


Public Shared PubStrConString As String = ("Data Source=192.168.1.1;Initial Catalog=Bank;Integrated Security=True")



با تشكر

ali_najari
چهارشنبه 14 مهر 1389, 13:58 عصر
دوست عزيز چرا از Ip استفاده ميكني
از نام سرور استفاده كن
من يه برنامه دارم واسه همين كار كه بايد User و Password اس كيو ال رو علاوه بر نام سرور انتخاب كنه و توي برنامه ذخيره ميشه
واست آماده ميكنم و ميزارم

منتظران منتظر
چهارشنبه 14 مهر 1389, 18:56 عصر
دوست عزيز چرا از Ip استفاده ميكني
از نام سرور استفاده كن
من يه برنامه دارم واسه همين كار كه بايد User و Password اس كيو ال رو علاوه بر نام سرور انتخاب كنه و توي برنامه ذخيره ميشه
واست آماده ميكنم و ميزارم
سلام دوست عزيز
از لطف شما ممنونم
فقط در صورت امكان اين روش به صورتي باشه كه كاربر(مدير سيستم) بتونه نام سرور رو هم تغيير بده و به صورت پيشفرض در بدنه برنامه و غير قابل تغيير نباشه . در ضمن اتصال به بانك از طريق كلاينتها به سرور در شبكه مي باشد.
يك دنيا ممنون

منتظران منتظر
شنبه 17 مهر 1389, 16:04 عصر
خدمت دوست عزيز آقاي نجاري
بنده چند روز است كه منتظر كد مربوط به آي پي هستم اگر امكان دارد زحمت كد مذكور را بكشيد
با تشكر

FastCode
شنبه 17 مهر 1389, 16:47 عصر
معمولاً برای چنین کاری از یک DNS(نپرس چیه؟,فقط گوگل کن.) استفاد میکنند.
نمیشه که همه چیز ثابت باشه.
یه چیزهایی رو به کاربر اجبار کنید وگرنه کاربر چیزهای سختتری رو به شما اجبار میکنه.

salmanbnd
شنبه 17 مهر 1389, 21:29 عصر
سلام دوست عزیز
نمی دونم سوال شما رو دقیق متوجه شدم یا نه
فرمی رو در ابتدای برنامه تون قرار بدید و شخص در TextBox بتون IP رو وارد کنه
یه دکمه هم باشه مثلا ارتباط، که تو رویداد Click اون بنویسید مثلا :



con = New SqlConnection("Data Source=" & TextBox1.text & ";Initial Catalog=Bank;Integrated Security=True")

پس قابل تغییر هست
اگه منظورتون رو درست متوجه نشدم بفرمایید

reza_edu
یک شنبه 18 مهر 1389, 13:16 عصر
سلام برای این کار باید رشته اتصال به دیتابیست رو طوری تنظیم کنی که مقادیرش رو از یک تکس باکس بخونه البته اینو دیگر دوستانم گفته بودن اما نکته اینجاست که باید این مقادیر یکبار توسط کاربر تو تکس باکس وارد بشه و بعد همون مقادیر رو تو یه فایل ذخیره کنی هر بار که صفحه برنامه لود میشه ابتدا اطلاعات اون فایل رو بخونه و تو تکس باکس قرار بده این طوری دیگه هربار لازم نیست تا کاربر اطلاعات رو وارد کنه این روش من بوده امید وارم به کارت بیاد.

salmanbnd
یک شنبه 18 مهر 1389, 16:57 عصر
سلام منتظران منتظر (http://barnamenevis.org/forum/member.php?u=70475)
دوست عزیز شما تاپیکی باز کردید، یه سری از دوستان هم به این تاپیک سر زدن و جواب دادن، حالا شما چرا نمیاید نظری بدید؟!!:عصبانی:
همین کارها رو می کنید که خیلی از تاپیکها بی جواب می مونه:عصبانی++:

منتظران منتظر
یک شنبه 18 مهر 1389, 20:01 عصر
با سلام خدمت دوستان محترم
بنده سوالي را كه پرسيده بودم با اين روش حل كردم
ابتدا يك فايل با فرمت INI ايجاد كردم .بعد در فرم لاگين خودم يك تكس باكس گذاشتم كه اطلاعات مربوط به IP را از داخل آن مي خواند و هم مي توان IP جديد را در آن ذخيره كرد كه در مرحله بعد با IP جديد به بانك متصل شد.آنگاه از روشي كه برادر عزيزم salmanbnd گفتند اتصال را ايجاد كردم.

در مورد مطلبي كه برادر عزيزم ّFastcode فرمودند بايد عرض كنم كه به جز DNS بايد DHCP نيز فعال باشد تا سرور به صورت اتوماتيك به كلاينتها IP بدهد و هر كاربر با يوزر و پسووردي كه توسط مدير شبكه تنظيم شده به سرور و بانك اتصال پيدا كنند .
اگر دوستان برنامه نمونه اين مورد را خواستند مي توانم در تاپيك قرار دهم
با تشكر از همه دوستاني كه حوصله به خرج دادنند

قال رسول الله:‌ اني بعثت لاتمم مكارم الاخلاق

salmanbnd
دوشنبه 19 مهر 1389, 09:29 صبح
با سلام خدمت دوستان محترم

بنده سوالي را كه پرسيده بودم با اين روش حل كردم
ابتدا يك فايل با فرمت INI ايجاد كردم .بعد در فرم لاگين خودم يك تكس باكس گذاشتم كه اطلاعات مربوط به IP را از داخل آن مي خواند و هم مي توان IP جديد را در آن ذخيره كرد كه در مرحله بعد با IP جديد به بانك متصل شد.آنگاه از روشي كه برادر عزيزم salmanbnd گفتند اتصال را ايجاد كردم.


در مورد مطلبي كه برادر عزيزم ّFastcode فرمودند بايد عرض كنم كه به جز DNS بايد DHCP نيز فعال باشد تا سرور به صورت اتوماتيك به كلاينتها IP بدهد و هر كاربر با يوزر و پسووردي كه توسط مدير شبكه تنظيم شده به سرور و بانك اتصال پيدا كنند .
اگر دوستان برنامه نمونه اين مورد را خواستند مي توانم در تاپيك قرار دهم
با تشكر از همه دوستاني كه حوصله به خرج دادنند


قال رسول الله:‌ اني بعثت لاتمم مكارم الاخلاق


سلام دوست عزیز
اگه میشه نمونه برنامه رو بذار

ali_najari
دوشنبه 19 مهر 1389, 11:28 صبح
دوست عزيز من يه برنامه آماده كردم واسه اينكه كاربر بتونه سرور رو تغيير بده

البته اين برنامه فقط تست ميكنه كه آيا با اطلاعاتي كه كاربر ميده به بانك برنامه وصل ميشه يا خير

خودتون ميتونيد يكم تغيير بديد و اگه ارتباط برقرار شد اون اطلاعات رو در جايي ذخيره كنيد و فراخواني كنيد

ali_najari
دوشنبه 19 مهر 1389, 11:30 صبح
راستي اين رو هم بگم كه اصلا كاري با IP نداره و اين برنامه نام كامل سرورها رو مياره و نيازي نيست كه شما IP بديد

salmanbnd
دوشنبه 19 مهر 1389, 18:16 عصر
دوست عزيز من يه برنامه آماده كردم واسه اينكه كاربر بتونه سرور رو تغيير بده

البته اين برنامه فقط تست ميكنه كه آيا با اطلاعاتي كه كاربر ميده به بانك برنامه وصل ميشه يا خير

خودتون ميتونيد يكم تغيير بديد و اگه ارتباط برقرار شد اون اطلاعات رو در جايي ذخيره كنيد و فراخواني كنيد

سلام دوست خوبم
دانلود کردم
با 2008 انجام دادی
به 2010 تبدیلش کردم
تو ComboBox چیزی نمایش نمیده، لیستش هم باز نمیشه

ali_najari
سه شنبه 20 مهر 1389, 00:44 صبح
نمیدونم مشکلش چیه ولی من برای برنامه هام از همین استفاده میکنم

واسه 3 تا برنامه تا حالا استفاده کردم و بدون مشکل بوده

ولی تا حالا با 2010 امتحانش نکردم

salmanbnd
سه شنبه 20 مهر 1389, 01:28 صبح
نمیدونم مشکلش چیه ولی من برای برنامه هام از همین استفاده میکنم

واسه 3 تا برنامه تا حالا استفاده کردم و بدون مشکل بوده

ولی تا حالا با 2010 امتحانش نکردم

میشه درباره کدهایی که استفاده کردی توضیح بدی؟
یا اینکه این برنامه مفیدت رو با 2010 هم انجام بدی؟
یا حداقل کمکم کنی که اینو تو 2010 انجام بدم؟
این کد :


SqlServers = Sql.SqlDataSourceEnumerator.Instance.GetDataSource s

Instance ها رو در میاره؟ از کامپیوتر جاری یا از شبکه؟ اگه run نباشه چی؟
برای نمایش خروجی این دستور راهی غیر از حلقه for نیست؟
ممنون میشم راهنماییم کنی

منتظران منتظر
جمعه 23 مهر 1389, 10:50 صبح
جناب Salmanbnd سلام.
مدتي به خاطر مشغله نتوانستم به تاپيك بيام. اگه مشكلتون حل نشده يك پيام بذاريد تا ادامه بديم.

ali_najari
جمعه 23 مهر 1389, 10:58 صبح
دوست عزیز اگر یکی از کامپیوترهای شبکه خاموش باشه اصلا اسمش رو واست نمیاره!

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

من بخاطر اینکه اطلاعات رو ترکیب کنم حلقه For استفاده کردم ولی میتونید اطلاعات رو توی Datasource نمایش بدید مثلا DataGridView یا ListView یا ComBobox و ... نمایش بدید