ورود

View Full Version : انتقال اطلاعات



yavari
شنبه 24 آذر 1386, 12:58 عصر
سلام

میخوام اطلاعات یه دیتابیس رو منتقل (افزودن اطلاعات به دیتابیس) کنم به دیتابیسم (دیتا بیسها یکسان هستن)
آیا SQL قابلیتی داره برای اینکار ؟
چه راهکاری رو پیشنهاد می کنید ؟

با احترام

MohammadSoft
شنبه 24 آذر 1386, 13:22 عصر
سلام
Import Data

MohammadSoft
شنبه 24 آذر 1386, 13:33 عصر
روی DataBase کلیک راست کنید و Tasks\Import Data رو انتخاب کنید و ادامه مراحل ...

Hossein_R
شنبه 24 آذر 1386, 13:52 عصر
دوست عزیز به تعداد پست های دوستمون نگاه کن ، احتمالا منظورشون کانفلیکتی بوده که بین ID ها پیش میاد !
اگر راهی غیر از پاک کردن دیتای تیبل قبلی و از کار انداختن autonumber هاش و ریختن دیتا جدید و اضافه کردن autonumber هاش بلدید بفرمایید ما هم استفاده کنیم !:چشمک:

ir_programmer
شنبه 24 آذر 1386, 14:29 عصر
قبل از اینکه بخای اطلاعات رو جابجا کنی کد زیر رو اجرا کن:
(برای جداولی که فیلد Auto دارند)



SET IDENTITY_INSERT table1 off;
SET IDENTITY_INSERT table2 off;
SET IDENTITY_INSERT table3 off;
.
.
.


بعد از جابجایی این کد رو اجرا کن:



SET IDENTITY_INSERT table1 on;
SET IDENTITY_INSERT table2 on;
SET IDENTITY_INSERT table3 on;
.
.
.

yavari
شنبه 24 آذر 1386, 15:54 عصر
سلام

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

برای اینکار آیا SQL قابلیتی داره ؟
چه راهکاری رو پیشنهاد می کنید ؟

با تشکر

AminSobati
شنبه 24 آذر 1386, 18:09 عصر
امکان Replication دارین؟ اگر خیر، میتونین یک فیلد تاریخ به جداولتون اضافه کنین و Export کنین به Text File. این رو هم ثبت کنین که تا چه تاریخی از هر جدول، رکوردها رو استخراج کردین.
میتونین به کمک BCP.EXE یک Query بزنین و رکوردهایی که فرضا تاریخشون از مقدار معینی بالاتر هست Export کنین

Cave_Man
یک شنبه 25 آذر 1386, 00:01 صبح
شاید بتونید از uniqueidentifier برای Identity ها فیلد هاتون استفاده کنید . بجای Identity معمولی که در سطح یک Table هست استفاده کنید.
این نوع از یه مقدار یونیک روی کارتهای شبکه و زمان پردازنده برای ایجاد مقادیر غیر تکراری یا unique استفاده میکنه و تا جایی که اطلاع دارم میتونه ضمانت غیر تکراری بودن فیلدهای ID ی شما رو روی کامپیوترهای مجزا بکنه.
در راهنمای SQL server :

no other computer in the world will generate a duplicate of that GUID value
من این روش رو عملا استفاده نکردم
البته این درمان درد نیست بلکه پیشگیری از درد است

hmm
یک شنبه 25 آذر 1386, 08:51 صبح
اگر اشتباه نکنم uniqueidentifier در زمان update هم یه مقدار جدید میگیرند .
با فرض اینکه جمله بالا درست باشه رکورد های update شده هم بعنوان رکوردهای جدید منتقل میشن که باید یه جورایی درست مدیریت بشه که Duplicate نشن

mehdia86
یک شنبه 25 آذر 1386, 10:43 صبح
سلام
بهتره تو بانک اطلاعاتی مرکزیت یک فیلد از نوع Numeric که autonumber شده(inentity=1 identity seed=1 identity increment=1) تعریف کنی و در هنگام Import یا Export بعد از انتخاب جداول در صفحه Select source tables and view در ستون transform روی کلید موجود کلیک کنید تا صفحه Columns mapping and transformation باز بشه و سپس source و یا destination(بستگی به این داره که از import استفاده منید یا export) مربوط به این فیلد اضافه شده را Ignore انتخاب نمایید.

موفق باشید

Cave_Man
یک شنبه 25 آذر 1386, 11:01 صبح
اگر اشتباه نکنم uniqueidentifier در زمان update هم یه مقدار جدید میگیرند .

نه این طور نیست..

AminSobati
یک شنبه 25 آذر 1386, 11:16 صبح
اون TimeStamp هست که هر بار فیلدی از رکورد Update بشه، مقدار TimeStamp هم تغییر میکنه.