تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 21

نام تاپيک: اتچ نشدن sql server 2012 در vs 2010

  1. #11
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    بهترین پیشنهاد شما چیه؟من همیشه دیتابیس رو اتچ میکردم.حالا نمیشه کاری کرد که دیگه اتچ نکنم و مستقیم اطلاعات رو از توی دیتابیس موجود در اس کیو ال سرور بخونه. مثلا کانکشن استرینگ رو تغییر بدم؟

  2. #12
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

    راه تبدیل که همان Generate SQL است.

    و حل کلی مشکل هم
    الف) میتوانید همیشه از آخرین نسخه ممکن (البته در همه جا) استفاده کنید.
    یا
    ب) نسخه ای مثل Express2005 را در رایانه خود نصب داشته باشید و یا از اول دیتابیس را با ان بسازید و ویرایش کنید و... یا قبل از تحویل پروژه تان به کمک آن دیتابیس را به نسخه پایین تر تبدیل کنید...
    یا
    ج) اصلاً به جای انتقال mdf به رایانه دیگر عادت کنید و خود کد Generate شده SQL را به محل جدید منتقل کنید... حتی میتوانید قسمتی در برنامه تان اضافه کنید که خودکار کد را Execute کند و دیتابیس را همانجا در محل بسازد.

    و...

    نمیشه کاری کرد که دیگه اتچ نکنم
    چه فرقی دارد؟ که چه شود؟
    فقط نسخه های Express از نوعی مکانیزم غیر اتچ (درواقع بعتر است گفته شود، اتچ و دیتچ خودکار) پشتیبانی میکنند که بحرحال فرقی بحال شما نمیکند!

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #13
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    مرسیمیشه مورد ج رو یکم بیشتر توضیح بدین و اینکه چطور انجام میشه

  5. #14
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    ج) اصلاً به جای انتقال mdf به رایانه دیگر عادت کنید و خود کد Generate شده SQL را به محل جدید منتقل کنید... حتی میتوانید قسمتی در برنامه تان اضافه کنید که خودکار کد را Execute کند و دیتابیس را همانجا در محل بسازد.
    البته این مورد رو دوستمون میان دقیق تو توضیح میدن، تا اون موقع من یه ایده‌ی اولیه بهتون میدم!:
    همه‌ی کارایی که ما به رابط کاربر انجام می‌دیم، در نهایت به صورت دونه دونه و کد انجام می‌گیره... وقتی ما یه تیبل رو با چند تا کلیک راست درست میکنیم، در حقیقت اون پشت یه چند خط کد اجرا میشه....
    وقتی کارمون با دیتابیس تموم شد، به جای اینکه دیتابیس رو منتقل کنیم، میایم کدهای اجرا شده رو که حجم کمی هم دارن رو استفاده می‌کنیم و موقع نصب برنامه، تو یه مرحله یه سری دیتای پیش‌فرض بهش می‌دیم و اجراش می‌کنیم.... حالا همه‌ی دیتابیس و تیبل ها و ... توی سیستم مورد نظرمون و توی سرورش ساخته میشه...(انگار که دوباره خودمون بریم رو اون سیستم دوباره دیتابیس رو از 0 بسازیم!! ولی اینبار خیلی سریع‌تر و خودکار انجام میشه....)

    من اینو خیلی دوست دارم، ولی عملا بلد نیستم!! ولی فیلم انجام این کار رو دیدم و خیلی باحاله و به نظرم مفید!!! حالا H2 میان بیشتر و دقیق توضیح میدن...

  6. #15
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    با سلام
    اصلاً به جای انتقال mdf به رایانه دیگر عادت کنید و خود کد Generate شده SQL را به محل جدید منتقل کنید... حتی میتوانید قسمتی در برنامه تان اضافه کنید که خودکار کد را Execute کند و دیتابیس را همانجا در محل بسازد.
    آیا ساخت بانک هنگام اجرای برنامه مزیتی هم دارد؟ یا تنها سلیقه شخصی شماست؟
    با سپاس

  7. #16
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض SSMS: Generate SQL Scripts

    سلام
    پس از تایید و تشکر از دوست خوبمان senaps در ادامه صحبت ایشان میتوانم اضافه کنم...
    برای ساخت SQL دیتابیس از برنامه SSMS استفاده میکنیم که همراه نسخه های غیر رایگان نصب میشود و نسخه رایگان Express خودش هم وجود دارد.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مطلب اول آنکه، ترجیحاً از SSMS2008 بجای SSMS2012 استفاده کنید که در ادامه دلیلش را خواهم گفت.

    مطلب دوم آنکه، توجه داشته باشید SSMS یک ابزار جانبی است و ارتباط مستقیمی با هسته SQLServer ندارد.
    به این معنی که شما میتوانید از SSMS2012 جهت ارتباط با MSSQL2005 استفاده کنید
    یا از SSMS2005 جهت ارتباط با MSSQL2012 استفاده کنید و...

    =====

    برای شروع ویزارد مربوطه مراحل زیر را دنبال کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر مسیر را صحیح طی کرده باشید به صفحه ای میرسید که دکمه Advanced سه دکمه رادیویی دارد:
    Save to File
    جهت ذخیره SQL نهایی در یک فایل (برای دیتابیس های بزرگ فقط از این گزینه استفاده کنید)

    Save to new query window
    SQL نهایی را یک فرم درون محیط خود SSMS درج و نشان میدهد. (*فعلاً همین را انتخاب کنید)

    Save to Clipboard
    SQL نهایی را ساخته و تمام آن را در حافظه Clipboard کپی میکند که آماده Paste در مقصد خواهد بود. (برای دیتابیس های بزرگ مناسب نیست)

    دکمه Advanced را کلیک کنید:
    گزینه های زیر را تنظیم کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دوگزینه مهم دیگر باقی می ماند

    اول: Script DROP and CREATE
    Script CREATE
    جهت دستورات ساخت دیتابیس از صفر

    Script DROP and CREATE
    جهت حذف اشیای قبلی و ایجاد اشیای جدید، به عنوان مثال بروز رسانی ساختار پروسیجر ها و ویوها و...
    ***هشدار: اگر منظورتان بروزرسانی دیتابیس است، این عمل محتویات ذخیره شده جداول قبلی را حفظ نخواهد کرد***

    دوم: Types of data to script
    Schema only
    ایجاد دستورات ساخت دیتابیس (CREATE)

    Data only
    ایجاد دستورات درج مقادیر داده ها (INSERT)

    Schema and data
    ایجاد هر دو گروه دستورات فوق

    در نهایت همه چیز را تایید و OK کنید و منتظر به پایان رسیدن عملیات بمانید...

    در صفحه نهایی دستوری شبیه این برایتان ایجاد میشود:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    میخواهید بخوانید و متوجه شوید ایراد ندارد ولی پیشنهاد میکنم دستورات تا شروع USE دوم را بطور کامل حذف و پاک کنید تا به چیزی شبیه این برسید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خوب! تمام شد، SQL شما حاضر است. فایل را ذخیره کنید. (یک لحظه حس آشپزی پیدا کردم )

    اگر همه چیز به خوبی انجام شده باشد میتوانید با Execute فایل فوق در یک دیتابیس خالی در هر محلی، مجدد دیتابیس فعلی تان را ایجاد کنید.

    =====

    پیش از این، گفتم که ترجیحاً از SSMS2008 بجای SSMS2012 استفاده کنید.
    این بدان دلیل است که گزینه Dependent در SSMS2008 به درستی کار میکند.
    ولی در نسخه SSMS2012 با تغییراتی که مایکروسافت در SQLServer2012 داده این گزینه دیگر لازم نیست و با وجودی که در SSMS2012 وجود دارد ولی کار نخواهد کرد.

    این گزینه وابستگی اشیای دیتابیس شما را کشف و ترتیب ایجاد آنها را مشخص میکند.
    مثلاً اگر درجایی از Proc1 درون کد Proc2 را فراخوانی کرده باشید، پس اول باید Proc2 ساخته شود و سپس Proc1 ساخته شود تا دستور ساخت Proc1 به خطا برنخورد که Proc2 ای وجود ندارد و نمیشناسم ...

    این ترتیب ایجاد برای SQLServer ها قبل 2012 مهم بوده و درنتیجه SSMS2008 این ترتیب را تشخیص داده و رعایت میکند.

    ولی SQLServer2012 پیشرفته تر شده و این ترتیب برایش مهم نیست در مقابل SSMS2012 خنگ تر شده و دیگر این ترتیب را تشخیص نمیدهد و در ساخت دستورات از آن پیروی نمیکند.

    (((باید لزوم پشتیبانی این ترتیب در SSMS2012 جهت استفاده SQL در نسخه های پایین تر طی یک feedback به سایت مایکروسافت ، یادآوری شود ، باشد که ترتیب اثر بدهند یا برود بقل دست feedback های بی ثمر دیگر ...)))

    =====

    آیا ساخت بانک هنگام اجرای برنامه مزیتی هم دارد؟
    حداقل دو مزیت را همین الآن یادم می آید ...
    مورد اول همین مشکل تاپیک است و توانایی ایجاد SQL با عدم وابستگی به نسخه خاص.
    حتماً میدانید که فایل های mdf حتی به SP ها هم حساس هستند. مثلاً یعنی mdf نسخه 2005SP2 در 2005SP1 متصل نخواهد شد!

    مورد بعدی هم برنامه نویسی تحت وب است ...
    به دلایل متعدد از قیمت تا دانش، در حال حاضر اکثر سروهای سایت های فعلی، سرور های موسوم به Share است که فرد از یک شرکت هاستینگ فقط یک فضای وب با کنترل پنل و... میگیرید.
    که مالک سایت هیچ راهی برای اتچ mdf خود ندارد.

    هاستینگ فقط اجازه ایجاد یک دیتابیس خالی را به فرد میدهد با معمولاً یک پلتفرم تحت وب یا ریموت SSMS که فرد در هیچ کدام اجازه اتچ ندارد.
    در واقع تنها راه فرد ساخت دستی تمام اشیا در سمت سرور است و یا اینکه یک اسکریپ SQL را اجرا کند.

    درست به همین دلیل است که اگر شما فایل های اجرایی یک سایت (مثل YAF یا DNN و...) را دانلود کنید بجای mdf در پوشه نصب آنها فایل های sql را خواهید یافت.

    (((
    فقط کسانی که سرورهای VPS یا Dedicated دارند میتوانند فایل mdf را اتچ کنند حالا یا خودشان یا برنامه ای این کار را انجام دهد...
    مگر انکه به مشتری گفته شود حتماً باید سرور اختصاصی تهیه کنید و User,Pass را هم به فروشنده بدهد (!!!) تا خودش برایش برنامه را نصب کنید ... !!!
    همین اتفاق برای یکی از دوستانم که قصد خرید یک برنامه فروشگاه اینترنتی از شرکتی ایرانی را داشت افتاده بود !!!
    اگر خودم تلفنی صحبت نکرده بودم، هنوز هم باورم نمیشد و میگفتم دوست من اشتباه شنیده و گفته و ...
    یعنی واقعاً برنامه فروشگاه دو صفحه ای اینها پیچیده تر از DNN بوده؟! یا شاید هم جهالت اقتصادی و علمی شان متفاوت بوده!
    بیخیال، غیبت کافی است!
    )))


    =====

    موفق باشید.
    Last edited by _H2_; 11-12-2012 at 14:14. دليل: متن زیاد، تایپ سریع و باز هم غلط املائی ...

  8. 3 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  9. #17
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    با سلام
    مطلب رو کاملا مبسوط و کاربردی توضیح داده اید؛ بینهایت ممنون
    یک سوال؟
    اگه هیمن کار رو با خود SQL انجام دهیم چه فرقی میکند؟
    منظورم اینه که اسکریپتی که با SSMS ساخته می شود چه تفاوتی دارد که به هسته SQL وابسته نمی شود؟
    با تشکر فراوان

  10. #18
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگه هیمن کار رو با خود SQL انجام دهیم چه فرقی میکند؟
    منظورم اینه که اسکریپتی که با SSMS ساخته می شود چه تفاوتی دارد که به هسته SQL وابسته نمی شود؟
    شک دارم منظورتان را درست متوجه شده باشم...
    منظورتان آن است که دستورات ساخت جدول و ویو و توابع و... را خودتان دستی بنویسید...!؟
    اگر منظورتان چنین است، تنها مزیت SSMS آن است که این کار خسته کننده و طولانی را خودکار انجام میدهد.
    انجام دستی اینکار برای یک دیتابیس بزرگ واقعاً وحشتناک است !

  11. #19
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    با سلام
    بنده بد متوجه شده بودم
    برای ساخت SQL دیتابیس از برنامه SSMS استفاده میکنیم که همراه نسخه های غیر رایگان نصب میشود
    تصورم این بود که نسخه ای که فرمودید با SQL Server Management Studio که خودم داشتم متفاوت است.
    با تشکر

  12. #20
    داره خودمونی میشه
    تاريخ عضويت
    Jun 2010
    پست ها
    38

    پيش فرض

    معذرت می خواهم، یک سوال آماتوری بپرسم
    بعد از این که این فایل Sql را ساختم چه جوری توی برنامه ام استفاده کنم؟
    من یه برنامه ی C# دارم که نمی خوام دیتابیس رو بهش attach کنم و طبق فرمایشات شما می خوام این فایل sql در کامپیوتر مشتری اجرا بشه و دیتابیس و جداولش ساخته بشه!

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •