واضح آرشیو وب فارسی:سایت ریسک: MTPROG02-08-2008, 02:14 AMمي خواستم بدونم براي يك برنامه بانك اطلاعاتي كه شبكه هم نيست و فقط يك سيتم مستقل هستش كداو يك بهترند Sql server2005 يا SqlExpress ؟ در ضمن اگر برنامه با SqlExpress نوشته شود مي توان هنگام Setup راه انداز اونو همراهش فرستاد ولي اگر از Sql server2005 استفاده شود نمي توان با راه انداز SqlExpress اونو راه انداخت لطفا راهنمايي كنييد كه چكار كنم؟:41: نكته :البته براي Sql server2000 ديدم كه از برنامه SQL Desktop Engine جهت راه اندازي پايگاه استفاده شده اما براي Sql server2005 چيزي نديدم r.gh4502-08-2008, 09:19 AMسلام اگه برنامه شما شبکه نیست پس موردی نداره از sql server استفاده کنید چون فکر میکنم سرعت sql Express بیشتره و در ضمن برای استفاده به صورت محلی طراحی شده و اگر فرقی نمی کدرد مسلما اونو به صورت یک نرم افزار جدا به بازار نمی دادند. در مورد مطلب دوم هم من ستاپ یک برنامه رو ساختم (از روشی که قبلا h2 جان تو همین فروم گفته بود که همن جا ازش تشکر می کنم ) موقع نصب باید sql Express نصب می کردم . اللبته شاید روش دیگه ای باشه که من اطلاع ندارم که اگه دوستان دیگه بگن من خیلی خوشحال می شم چون به نظرم خیلی مفید میتونه باشه MTPROG02-08-2008, 03:31 PMSQLEXPRESS32.exe كه همراه ستاب با برنامه همراه ميشه فقط براي استفاده از فايلهاي پايگاه داده اي است كه با استفاده از بانك داخلي VS.Net طراحي شده اند كاربرد دارد نه براي SQL SERVER براي كار با SQL SERVER2005 بايد برنامه جانبي ديگيه اي همراه ستاپ نصب بشه من اونو مي خوام همونطور هم كه قبلا گفتم براي Sql server2000 از برنامه0 SQL Desktop Engine200 استفاده ميشه اما اين برنامه با فايلهاي پايگاه داده درSQL SERVER2005 همخواني نداره چون فرمت فايلهاي SQL SERVER2005 با SQL SERVER2000 متفاوت هستش _H2_02-08-2008, 11:14 PMسلام اول لازم میدانم در تایید صحبت کاربر r.gh45 بیان کنم که همیشه برای کشتن پشه نیازی به رزم ناو نیست! اگر تعداد کانکشن های همزمان کم باشد و دیتا زیر 2G باشد، express گزینه مناسبی است. و اگر هم یک زمانی express کم آورد، ایرادی ندارد، نسخه بالاتر میریزید. ولی به تجربه میگویم، پر کردن 2G راحت نیست! SQLEXPRESS32.exe كه همراه ستاب با برنامه همراه ميشه فقط براي استفاده از فايلهاي پايگاه داده اي است كه با استفاده از بانك داخلي VS.Net طراحي شده اند كاربرد دارد نه براي SQL SERVER تا اونجا که من میدانم فرقی ندارد، من خودم بارها دیتابیس ها را بین نسخه های مختلف attach کرده ام. براي كار با SQL SERVER2005 بايد برنامه جانبي ديگيه اي همراه ستاپ نصب بشه من اونو مي خوام برنامه جانبی؟؟؟؟؟؟!!!!!!! فرقی ندارد، شما یا setup نسخه express را اجرا و آن را نصب میکنید یا setup هر نسخه دیگر، چه فرقی دارد؟؟؟!!!! SQLServer2005 دو ابزار کمکی مهم دارد، که برای هر نسخه ای کار میکند. اولی SQL Server Configuration Manager است که پیکر بندی های کلی سرویس ها را ست میکند و امکان متوقف کردن و run کردن سرویس ها را میدهد و معمولاً در هر شرایطی نصب میشود. دومین ابزار SQL Server Management Studio است که خودش چند نگارش دارد، ولبی نصب هر نگارشی از آن میتوانید برای هر نگارشی از SQLServer کار کند. یعنی شما میتوانید نسخه full و Develop نرم افزار Management را برای نسخه express هم استفاده کنید و هم زمان به چندین سرور و نمونه های مختلف SQLServer وصل شوید. همچین نسخه express نرم افزار Management نیز قابلیت اتصال به چندین سرور و نمونه های مختلف SQLServer را دارد. محدودیتی در کار نیست. نرم افزار فوق یک نوع editor کامل و جامع است بصری است که اجازه ساخت و attach دیتابیسها و ساخت جدول و View و... و... و... و... و... و... را میدهد. معمولاً برنامه نویسان این نرم افزار کمکی را فقط برای خودشان نصب میکنند و از نصب ان در کامپیوترهای کاربران پرهیز میکنند تا دست و بال کاربران برای فضولی در دیتابیس بسته شود! البته کاربران حرفه ای SQLServer میتوانند بدون نرم افزار فوق الذکر هم در صورت داشتن مجوزهای امنیتی به کمک دستورات خط فرمان هر کاری میخواهند بکند، ولی عدم نصب نرم افزار فوق سدی بسیار قوی برای فضولی های کاربران و خراب کاریهایشان است!!!! حال اگر مشکل دارید، بپرسید. MTPROG03-08-2008, 01:29 AMمن براي امتحان دو نمونه برنامه بانك اطلاعاتي كه يكي از SQLEXPRESS استفاده مي كنه(بانك داخلي خود VS) و يكي هم با SQL SERVER2005 و هر دوي اونها رو ستاپ كردم و برنامه SQLEXPRESS 32.exe با ستاپ همراه كردم و موقع نصب اين دو برنامه در كامپيوتر مقصد فقط برنامه اي كه با SQLEXPRESS نوشته شده بود كار كرد اما برنامه ديگر كار نكرد با وجود اينكه SQLEXPRESS 32.exe نصب و راه اندازي شده بود در ضمن برنامه اي كه داريم تهيه ميكنيم بسيار حجيم هستش چون نسخه قبلي اونو كه با VB 6 سال 82 نوشته بوديم بسيار بزرگ شده است و به علت بزرگ بودن بانك اون برنامه سرعتش خيلي كم شده بود البته بانكش با اكسس ورژن اون موقع بود و ما با بررسي بانك نرم افزار قبلي فهميديم كه اطلاعات اونا به صورت تصاعدي بسيار زياد خواهد شد(با توجه به اطلاعات نوع شغل تخصصي مورد نظر) و سر و كار ما با ميليون ركورد بود اون برنامه قبلي شامل 95 جدول بزرگ بود و نسخه جديد با امكانات اضافي 150 جدول خواهد بود و ما مجبوريم اطلاعات نسخه قبل رو هم به اين برنامه جديد اضافه كنيم . بنابراين حجم حداكثر تا 2GB ميتونه براي ما يك ريسك بزرگ باشه براي همين ميخوام حتما از SQL SERVER 2005 استفاده كنيم _H2_03-08-2008, 02:40 AMسلام من براي امتحان دو نمونه برنامه بانك اطلاعاتي كه يكي از SQLEXPRESS استفاده مي كنه(بانك داخلي خود VS) و يكي هم با SQL SERVER2005 و هر دوي اونها رو ستاپ كردم و برنامه SQLEXPRESS 32.exe با ستاپ همراه كردم و موقع نصب اين دو برنامه در كامپيوتر مقصد فقط برنامه اي كه با SQLEXPRESS نوشته شده بود كار كرد اما برنامه ديگر كار نكرد با وجود اينكه SQLEXPRESS 32.exe نصب و راه اندازي شده بود من حدس میزنم، مشکل شما با ConnectionString باشد. چون وقتی از داخل VS بوسیله نسخه express دیتابیس جدید می سازید، VS برای ان ConnectionString ای با مکانیزم غیر متصل در نظر میگیرد. در حالی که برای نسخه های دیگر باید attach انجام شود و ConnectionString به همین منوال تنظیم شود. مشکل شما در این تست غیر صحیح ان است که دو برنامه را جداگانه نوشته اید. برنامه ای که از ConnectionString غیر متصل نسخه express استفاده میکند، به راحتی در سیستم دیگر با یک کپی و Paste ساده راه می افتد. ولی برنامه ای که ConnectionString متصل (سیاست اصلی SQLServer) را استفاده میکند، بعد از انتقال به مکان جدید باید دیتابیس اش attach شود. و گرنه کار نخواهد کرد. در کل این روند برنامه سازی و استفاده از رشته های ثابت ConnectionString صحیح نیست و برای اجرای تحت شبکه یا اتصال ایمن با user و pass و... باید ConnectionString پویا باشد. اگر واقعاً میخواهید تستی کنید، یک برنامه واحد بنویسید و یک بار با بانکی که با نسخه express درست شده، اجرایش کنید و یکبار با بانکی که با نسخه های خاص درست شده، خواهید دید که هیچ تفاوتی نخواهد داشت. مطمئن باشید که اگر نتوانستید، جایی از کارتان مشکل داشته در کل یا وضعیت attach فرق داشته یا ConnectionString و یا وضعیت امنیتی، اگر سه مورد فوق در هر دو دیتابیس یکسان باسد، خواهید دید که تفاوتی در اجرا در نسخه های مختلف 2005 نخواهند داشت. MTPROG04-08-2008, 02:04 AMبله من هم خودم مطمئن هستم كه ايراد از Connection string هستش بياد يه جوري اصلاح بشه اون دو برنامه كه گفتم تست كردم دقيقا مثل هم هستند ولي فقط Connection String اونها با هم فرق داره براي برنامه كه از SQL EXPRESS استفاده ميكنه از اين Connection string استفاده كردم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! و براي برنامه ديگه از اين روش !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! همونطور كه معلومه در Connection String دوم نحوي attach مشخص نيست براي همين برنامه كار نميكنه به MSDN هم سري زدم تمام نمونه Connection String هاي كه توضيح داده بود كه حدود 5 تا 6 نوع بودند همگي مربوط به برنامه هايي بوند كه بانكشون تو SQL SERVER قبلا attach شده بود(يعني اينكه SQL SERVER2055 رو سيستم نصب شده باشد و فايل هم attach شده باشد) درباره اون برنامه جانبي هم كه گفتم مثل SQL Desktop Engine2000 فكر نكنم كه غير ضروري باشه چون تو يك برنامه حسابداري به نام XXXX وقتي اونو متوقف كردم كل نرم افزار از كار افتاد و ديگر قادر به وصل شدن به بانك نبود حتي تو MSDN هم نحوي استفاده از اين برنامه رو كامل شرح داده(البته براي SQL SERVER 2000 نه SQL SERVER 2005) حالا اگر پيشنهادي يا راهنمايي داريد ممنون ميشم اونو ارائه بديد _H2_04-08-2008, 03:50 AMسلام يعني اينكه SQL SERVER2055 رو سيستم نصب شده باشد و فايل هم attach شده باشد فقط و فقط نسخه express توانایی اتصال به دیتابیس mdb بدون attach را دارد، هیچ نگارش دیگری بدون attach بانک mdb کار نمیکند. رباره اون برنامه جانبي هم كه گفتم مثل SQL Desktop Engine2000 فكر نكنم كه غير ضروري باشه حالا اگر پيشنهادي يا راهنمايي داريد ممنون ميشم اونو ارائه بديد میبخشید ولی متوجه نشدم، "غیر ضروری" ؟؟؟ پیشنهاد چی دیگه؟؟؟ چون تو يك برنامه حسابداري به نام XXXX وقتي اونو متوقف كردم كل نرم افزار از كار افتاد و ديگر قادر به وصل شدن به بانك نبود بدیهی! با از کار انداختن و متوقف شدن سرویس دهند اصلی کلیه Connection ها در همان رایانه و رایانه های شبکه و... به خطا میخوردند. تمام وجود SQLServer به اجرا بودن سرویس اش است. r.gh4504-08-2008, 08:15 AMمن براي امتحان دو نمونه برنامه بانك اطلاعاتي كه يكي از SQLEXPRESS استفاده مي كنه(بانك داخلي خود VS) و يكي هم با SQL SERVER2005 و هر دوي اونها رو ستاپ كردم و برنامه SQLEXPRESS 32.exe با ستاپ همراه كردم و موقع نصب اين دو برنامه در كامپيوتر مقصد فقط برنامه اي كه با SQLEXPRESS نوشته شده بود كار كرد اما برنامه ديگر كار نكرد با وجود اينكه SQLEXPRESS 32.exe نصب و راه اندازي شده بود سلام اگر اشتباه می کنم دوستان لطفا تصحیح کنن. اگر شما قرار از نسخه SERVER استفاده کنید معنیش اینه که شما میخواید تحت شبکه کارکنید پس باید در سیستمی که توی اون می خواین برنامتون اجرا بشه یا یک سرور که سیستمتون با اون در ارتباطه sql SERVER رو نصب کنید .حالا اگر سیستم شما خودش سروره پس connection string رو به صورت زیر تعریف می کنیم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!اما اگر سیستم شما کلاینته باید در کد فوق به جایlocalhost نام سرور رو بزنید یعنی برنامه شما اینو باید از کاربر بگیره که در این مورد جناب h2(چندین بار) و دبگر دوستان زحمت کشیدن و در پوست های قبل جواب دادن(با سرچ تو فرم می تونید پیداش کنید) موفق باشید.:8: سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1810]