تور لحظه آخری
امروز : دوشنبه ، 18 تیر 1403    احادیث و روایات:  پیامبر اکرم (ص):دعا كردن را در هنگام رقّت قلب غنيمت شمريد، كه رقت قلب، رحمت است.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

اتاق فرار

خرید ووچر پرفکت مانی

تریدینگ ویو

کاشت ابرو

لمینت دندان

ونداد کولر

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

رسانه حرف تو - مقایسه و اشتراک تجربه خرید

سرور اختصاصی ایران

تور دبی

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پیچ و مهره

طراحی کاتالوگ فوری

دانلود کتاب صوتی

تعمیرات مک بوک

Future Innovate Tech

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

قیمت فرش

آموزش کیک پزی در تهران

لوله بازکنی تهران

میز جلو مبلی

هتل 5 ستاره شیراز

آراد برندینگ

رنگ استخری

سایبان ماشین

قالیشویی در تهران

مبل استیل

بهترین وکیل تهران

شرکت حسابداری

نظرسنجی انتخابات 1403

استعداد تحلیلی

کی شاپ

خرید دانه قهوه

دانلود رمان

وکیل کرج

آمپول بیوتین بپانتین

پرس برک

بهترین پکیج کنکور

خرید تیشرت مردانه

خرید نشادر

خرید یخچال خارجی

وکیل تبریز

اجاره سند

وام لوازم خانگی

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

خرید ووچر پرفکت مانی

خرید سی پی ارزان

خرید ابزار دقیق

بهترین جراح بینی خانم

تاثیر رنگ لباس بر تعاملات انسانی

خرید ریبون

ثبت نام کلاسینو

 






آمار وبسایت

 تعداد کل بازدیدها : 1805671888




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مشکل در تنظیمات شبکه برای اتصال چند سیستم با SQLEXPRESS


واضح آرشیو وب فارسی:سایت ریسک: MTPROG18-05-2009, 12:46 PMیک برنامه با SQLEXPRESS طراحی شده میخوام دو نسخه از این برنامه رو توی دوتا سیستم اجرا کنم که یکیشون بدون بانک اطلاعاتی است و اطلاعاتشو از سیستم اولی بگیرو شبکه بصورت WORKGROUP کار میکنه IP کامپیوتر اصلی که دارای بانک اطلاعاتی هست برابر است با ip=10.0.254.62 IP کامپیوتر فرعی بدون بانک اطلاعاتی برابر است با ip=10.0.254.68 برنامه رو در دو نسخه با Connection String ثابت و متغیر طراحی کردم Connection String ثابت(کامپیوتر سرور) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! Connection String متغیر(کامپیوتر کلاینت) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! الان برای کامپیوتر سرور مشکلی نیست اما مشکل برای کامپیوتر کلاینت پیش میاد در هنگام اجرا این پیغام خطا رو میده !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! هر دو سیستم همدیگر رو میبینن و در ارتباط شبکه مشکلی نیست در تنظیمات SQL Server Surface Area Configuration هر دو سیستم روی بخش Using both TCP/IP And named pipes تنظیم شده است در تنظیمات SQL Server Configuration Manager هر دو سیستم SQLEXPRESS)SQL Server) و SQL Server Browser در حالت Run و بر روی مد NetworkService می باشند از دوستانی که اطلاعاتی در این مورد دارند ممنون میشم راهنمایی کنن با تشـــــــــــــــــــــــ ــــــــکر _H2_19-05-2009, 01:10 AMسلام باید دیتابیس را attach کنید... http://forum.p30world.com/showthread.php?p=3769052#post3769052 249133 موفق باشید. MTPROG19-05-2009, 09:55 AMمن نحوه attach کردن رو میدونم ولی آخه من از SQLEXPRES خود VS2008 استفاده کردم چطور اونو attach کنم در حالی که برنامه ای برای attach وجود نداره. یعنی باید روی سرور حتما SQl SERVER 2005 نصب باشه؟ _H2_20-05-2009, 01:04 AMسلام attach راه استاندارد ارتباط sqlserver است و نسخه express هم از این امر مثتثنی نیست. (در واقع sqlserver اصلاً بدون attach کار نمیکند، نسخه express هم که به ظاهر چشمی میتواند اینکار را انجام دهد، در اصل نوعی attach کاملاً رسمی و قانونی و معمولی را خودکار انجام میدهد ولی موقت، یعنی خودش detach را هم انجام میدهد.) استفاده از express در شبکه کاملاً عملی و attach هم در همه نسخه های sqlserver قابل انجام است. (البته شاید نیاز باشد برخی پروتکلها را هم برای express فعال کنید تا در شبکه کار کند.) MTPROG20-05-2009, 09:34 AMمشکل ارتباط رو حل کردم شبکه رو تبدیل به Client/Server کردم و بعد از تنظیمات شبکه بانک رو تو سرور بعد از نصب SQL SERVER 2005 تونستم Attach کنم و با تنظیم Connection String برنامه Client برنامه شروع به کار کرد حالا میخواستم روی نحوه قفل کردن یک جدول و یا یک رکورد بحث کنیم برای قفل کردن یک جدول زمانی که از یک SqlDataAdapter استفاده می کنم زمانی که میخوام عملیاتی روی بانک اعمال کنم از دستور زیر استفاده کردم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! آیا این روش درسته؟ برای قفل روی یک رکورد باید چار کرد؟ اگر از روش زیر برای اصلاح استفاده شودن ایا قفل زیر درست است !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! _H2_21-05-2009, 12:26 AMسلام قف شما مطلقاً فاقد ارزش است. الآن که اصلاً بود و نبودش تاثیری ندارد! فوق فوقش در شرایطی که فقط و فقط در سطح کل برنامه یکبار new داشته باشید، میتواند در همان نسخه اجرای برنامه تاثیر داشته باشد و بازهم هیچ تاثیری روی دیگر رایانه های شبکه ندارد. بانک اطلاعاتی sqlserver خودکار و در صورت تشخیص قفلهایی برای کارکرد صحیح تخصیص/آزاد میکند. در شرایط عادی، شما نیازی نیست کاری کنید. MTPROG21-05-2009, 12:32 PMیعنی اصلا احتیاجی نیست هیچ کدی نوشته شود؟ در صورت برخورد SQL SERVER چه عکس العملی نشون میده پیغام خطا میفرسته یا کاربر رو منتظر نگه میداره؟ _H2_22-05-2009, 12:06 AMسلام اگر sqlserver صلاح بداند خودش سطر مورد نظر را قفل میکند، و تا زمان قفل بقیه پردازشها منتظر خواهند ماند. ولی این قفل بسیار کوتاه است و فوراً اخذ و فوراً آزاد میشود. در یک برنامه شبکه ای شما باید بیشتر به primarukey ها دقت کنید... حتماً primarykey ها را autonumber قرار دهید ... insert های عادی احتمال دارد به علت duplicate کلید با مشکل مواجه شوند و فرد دیگری زودتر آن کلید را درج کند... به این فکر کنید که هر دیتایی از زمان انتخاب قبلی تا بعدی، شاید توسط کاربر دیگری حذف یا ویرایش شده باشد... و... شما باید به ساختار داخلی برنامه خود فکر کنید، مشکلی با ذات ذخیره دیتا نخواهید داشت. MTPROG26-05-2009, 02:39 AMبه این فکر کنید که هر دیتایی از زمان انتخاب قبلی تا بعدی، شاید توسط کاربر دیگری حذف یا ویرایش شده باشد... . من فکر میکنم بهتره که قبل از اینکه کاربر عملیات update رو انجام بده یک نوشته بشه که رکورد مورد نظر رو چک کنه که ببینه تغییر کرده یا نه و بعد عملیات refresh رو انجام بده! نظر شما چیه؟ _H2_26-05-2009, 12:58 PMسلام من فکر میکنم بهتره که قبل از اینکه کاربر عملیات update رو انجام بده یک نوشته بشه که رکورد مورد نظر رو چک کنه که ببینه تغییر کرده یا نه و بعد عملیات refresh رو انجام بده اگر منظورتان را از referesh درست متوجه شده باشم و منظورتان یک عملیات SELECT پس از UTE باشد... اگر شما update ای انجام دهید، یک عدد int به شما داده خواهد شد، که معرف تعداد سطرهایی است که توسط این دستور در بانک تغییر کرده اند. ( البته دقت کنید که اگر از DataTable و DataAdapter استفاده مکنید و چیزی را در DataTable تغییر دهید و لی DataAdapter.Update صفر سطر را آپدیت کند، یک خطای runtime صادر میشود که باید به درستی هندلرش کنید. ) در استفاده از DataTable و DataAdapter ... مهم برای SELECT پس از UTE آن است که چند سطر DataTable تغییر کره و چند سطر Update شده. در یک حالت خوب میانه SELECT باید موقعی انجام شود که دو عدد فوق برابر نباشند. ولی اگر خیلی میخواهید مطمئن باشید اطلاعات نمایشی به روز هستند و جدیدترین تغییرات را در سطح بانک نمایش میدهند... - یا همیشه باید SELECT داشته باشید. - یا SP های شما در sqlserver با تغییر سطری از یک جدول یک سطر خاص در جدول دیگری را با تاریخ-زمان آن لحظه ست کنند... تا کلاینتها با چک کردن این عدد با آخرین مقدار در زمان SELECT خودشان بفهمند که نیاز به هزینه پردازشی و ترافیکی شبکه به یک SELECT دارند یا خیر (البته میتوانید به جای تاریخ-زمان از فیلدهای timestamp هم استفاده کنید) موفق باشید. MTPROG27-05-2009, 09:30 AM- یا SP های شما در sqlserver با تغییر سطری از یک جدول یک سطر خاص در جدول دیگری را با تاریخ-زمان آن لحظه ست کنند... تا کلاینتها با چک کردن این عدد با آخرین مقدار در زمان SELECT خودشان بفهمند که نیاز به هزینه پردازشی و ترافیکی شبکه به یک SELECT دارند یا خیر (البته میتوانید به جای تاریخ-زمان از فیلدهای timestamp هم استفاده کنید) موفق باشید. میشه درباره این موضوعش یکم بیشتد توضیح بدید و بگید که چگونه باید اونو تا بانک پیاده سازی کرد _H2_28-05-2009, 12:49 AMسلام نوع timestamp در SQLServer یک عدد 64 بیتی است (معادل long و ulong در دات نت) این فیلد را شما نمیتوانید و نباید تغییر و ویرایش دهید! مقدار این فیلد خودکار توسط SQLServer پرخواهد شد. این مقدار یک عدد یکتا و منحصر به فرد است که با هر ویرایش سطر تغییر خواهد کرد. نتیجتاً در برنامه های شبکه ای گسترده و بزرگ با ترافیک زیاد و با حساب عدم تغییر primarykey ... کلاینتها میتوانند در صورت نیاز و قبل از اعمال دیگر و یا در داخل خود دستورات T-SQL مقدار این فیلد را با آخرین مقداری که خودشان داشتند چک کنند و به این نتیجه قطعی برسند که آیا از اخرین دفعه تغییر و ویرایش شده یا خیر؟ ===== ولی چیزی که من پیشنهاد کردم، ساده تر بود! یعنی یک چیز تو مایه های یک timestamp برای کل هر جدول! MTPROG28-05-2009, 10:39 AMچطور میشه timestamp ا چک کرد کجا قرار گرفته؟ اگر هم پیدا کردم به فرض مثال شماره id من 20 است باید چطور ID رو با timestamp مقایسه کنم؟ اگه میشه یه مثال بزنید _H2_29-05-2009, 01:18 AMسلام متاسفانه من متوجه مفهوم سوالات شما نشدم! نتیجتاً سعی میکنم یکم دیگر توضیح بدهم... فیلد timestamp یک نوع فیلد عددی است، مثل smallint و int و البته بیشتر bigint. این فیلد از جهاتی هم شبیه autonumber ها است، به این معنی که شما نمیتوانید آن را در insert و update مقداردهی یا تغییر دهید. این فیلد با هر تغییر سطر، مقدار جدید و متمایزی و غیر تکراری میگیرد. فقط و فقط به عنوان یک مثال ساده برای متوجه شدن مطلب به نمونه زیر دقت کنید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. _H2_29-05-2009, 12:08 PMسلام البته شاید بهتر بود مثال زیر را میزدم! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1749]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن