نمایش نتایج 1 تا 14 از 14

نام تاپیک: انتقال اطلاعات از یک دیتابیس به دیتابیسی با جداول تقریبا متفاوت

  1. #1

    Thumbs up انتقال اطلاعات از یک دیتابیس به دیتابیسی با جداول تقریبا متفاوت

    سلام به همه دوستان
    من یه دیتابیس دارم که تقریبا حدود 10.000 خبر توی جدول news ثبت شده.
    حالا یکم تو نسخه جدید این جدول news تغییر کرده.
    در مورد تغییرات :
    در نسخه اول تمام اطلاعات هر خبر تنها در یک جدول واحد با نام news ذخیره میشد.
    من اومدم دو نسخه جدید این تک جدول رو یه چند جدول تبدیل کردم . مثلا :
    1) جدول News (که اطلاعات کلی از جمله : عنوان، خلاصه ، تصویر و ... رو در خودش جای میده که جدول اصلی هست و یک فیلد یکتا هم با نام ID داره)
    2) جدول NewsText (که متن خبر رو تو خودش جای میده و با یک فیلد خروجی با نام NewsID با جدول News در ارتباطه )
    حالا من میخوام بدونم چطور اطلاعات اون دیتابیس اول که تمام اطلاعات اخبار رو تنها در جدول News ریخته به دیتابیس جدید انتقال بدم که هر خبر تکه تکه و در چندتا جدول ذخیره میشه؟؟؟

    ممنون میشم اگر راهنمایی بفرمائید.

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    پست
    93

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

    اول بايد جدول قديمي رو به ديتا بيس جديدت ببري (Import) كني
    بعد با استفاده از insert اطلاعات قديمي رو به جدول جديد ببري
    اون اطلاعات رو كه مي خواي تو جدول اول باشه select كن و insert كن در اين جدول
    يه select ديگه هم واسه جدول دوم مي خواد

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    پست
    93

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

    مثلا _NEWS جدول قديمي باشه


    INSERT

    INTO dbo.News(NewsID,summary,Onvan,ax)

    SELECT

    Id,summary,Onvan,ax

    FROM

    dbo._news







    INSERT

    INTO dbo.NewsMatn(NewsID,Matn)

    SELECT

    Id,matn

    FROM

    dbo._news


    بازم بستگي داره به جدولات ممكنه JOIN و .... بخواد

  4. #4

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

    ممنون خانم قربانی.

    1) توی جدول قدیمی فیلد ID از نوع Identity هست که خودکار افزایش پیدا کنه. اگر اطلاعات جدول قدیمی رو از طریق سلکت بریزم توی جدول جدید(که بازم فیلدی با نام ID و از نوع Identity داره) فیلد ID جدول جدید با مشکل مواجه نمی شه؟ بخاطر Identity بودنش؟

    2) قاعدتا باید جداول دیگه هم که با این فیلد (فیلد ID در جدول نیوز) ارتباط دارن (مثل جدول NewsText با کلید خارجی با نام NewsID ک ه به فیلد ID جدول News در ارتباطه) مقدار NewsID شون با ID جدول News ست بشه.
    اینو چکار باید کنم ؟
    نمی دونم آیا منظورم رو درست رساندم یا خیر؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

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

    با استفاده از Cursor می توانی انجام دهی به نحوی که بعد از درج در جدول اول آخرین id درج شده را بگیرید و بعد آن id را به عنوان کلید خارجی جدول دوم استفاده کنید

  6. #6

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

    ممنونم از توجه تون
    ولی بنظر شما آیا من نیاز ندارم که وقتی یک رکورد در جدول News اضاف کردم ID اون رو بگیرم و یک رکورد توی جدول NewsText با ID جدول News بزنم؟

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    پست
    93

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

    اون فيلدي كه تو جدول جديد identity هست موقتا از identity در بيار اطلاعات رو انتقال بده دوباره identity كن درست مي شه
    چون كليد خارجي به جدول ديگه داري و بايد اطلاعات با هم بخونه چاره ا ينداري كه اين كار رو انجام بدي

  8. #8

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

    ممنونم از توجهتون
    همین کار رو انجام میدم و اگر مشکلی بود مطرح میکنم.
    ولی قبل از اون :
    اول بايد جدول قديمي رو به ديتا بيس جديدت ببري (Import) كني
    یک سری از جداول قویم و جدید با هم همنام هستن. مثلا News یا NewsText و .../ اینو چکار کنم؟

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    پست
    93

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

    اونا رو با یه اسم جدید ببر داری import می کنی می تونی اسمشون رو تغییز بدی یه "_" اول اسم جدولات بنداز

  10. #10

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

    دوستان اگر نحوه import کردن این جداول رو هم بفرمائید ممنون میشم

  11. #11
    کاربر دائمی آواتار barnamenevisforme
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران،شیراز و میشه گفت تقریبا همه جای ایران
    پست
    683

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

    سلام
    روشی که دوستان فرمودن،صحیحه،ولی بنده راهی رو به شما پیشنهاد میکنم که فکر میکنم راحتتر و اصولی تر باشه.
    روی نام جدولی که میخوای data رو توی اون وارد کنی،راست کلیک کن، all task/import data جدولی که اطلاعات توی اون قرار داره،البته نام database مربوطه رو انتخاب کن،در مرحله بعد نام database جدید رو انتخاب کن،در مراحل بعد مشخص میکنید که دقیقا چه فیلد هایی از چه جدولی به جدول مورد نظر وارد بشه(میتونی از امکان query اوناستفاده کنی)
    یه run میزنی جدول رو واست پر میکنه.نیازی به تغییر option identity هم نیست.
    خوش باشی.

  12. #12

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

    بسیار سپاسگزارم.
    ولی توی نسخه express این گزینه ای که فرمودید نیست؟

  13. #13

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

    سلام

    لازم نیست که حتما جداول رو توی یک DataBase داشته باشی ... می تونی توی 2 تا database بزرایشون ... و یک Query بنویسی که از از DataBase اول به دومی اطلاعات رو انتقال بدی ... (اینم واقعا لازم نیست اگه دوتا سرور Sql همدیگرو ببینند کفایت می کنه)

    برای اینکه اطلاعات رو از جدول قدیمی به جداول جدید ببری روش های مختلفی وجود داره ... اگه انتقال اطلاعات دارای پیچیدگی های خاصی هست بهتره از cursor استفاده کنی اما اگه به همون سادگیه که گفتی روش Insert و Select بهتر و سریعتر هست ...

    برای Identity هم می تونی قبل از Query این کد رو بنویسی که اجازه بده Identity هارو Insert کنی ...

    SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }

  14. #14
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

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

    يه نگاهي به اين بنداز

    https://barnamenevis.org/showthread.php?345670
    در مورد SSIS هست. سرويس فوق العاده‌اي است

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •