PDA

View Full Version : حجم بالای رکورد



sahar8010
پنج شنبه 15 اسفند 1381, 23:23 عصر
سلام
آیا SQL SEERVER در عمل پاسخگوی 500 میلیون رکورد هست؟
و اگر هست ، بجز استفاده از batchmove component، چطوری میشه 500 میلیون رکورد در فایل dbf رو بیارم تو SQL.
لطفا اگر تجربه ی این کار رو دارین ، راهنماییم کنین.

Vahid_Nasiri
جمعه 16 اسفند 1381, 01:32 صبح
اس کیو ال سرور واقعا مجموعه بی نظیری است ( حداقل برای ما که در ایران
به راحتی به اوراکل دسترسی نداریم ) پس خیالتان راحت باشد که حداقل
از فاکس پرو و یا اکسس بسیار بسیار قوی تر است.
در مورد سوال شما اگر من جای شما بودم یک تابع ساده می نوشتم تا
رکوردها را یکی یکی بخواند و به دیتا بیس اضافه کند و با سرعت های
کامپیوترهای موجود مطمپن باشید که حتی نیم ساعت هم طول نمی کشد.
فقط باید کانکشن را باز کنید - رکوردها را یکی یکی بخوانید و به دی بی جدید
add کنید. ( ساده ترین راه ! که جاهای دیگر هم به درد می خورد.)

sahar8010
جمعه 16 اسفند 1381, 10:27 صبح
سلام
اقای نصیری ممنون از راهنماییتون.ولی در مورد تبدیل dbf به sqlباید بگم که حتی با وجودی که از batch moveاستفاده کردم که تسرع در وقت بشه، 15 میلیون رکورد در حدود 26 ساعت طول کشید.حالا ببینید 500 میلیون اصلا امکان داره یا نه؟؟

Vahid_Nasiri
جمعه 16 اسفند 1381, 12:52 عصر
وی بی برنامه کمکی همراه آن است بنام Visual data manager که به آن
Vis data هم می گویند و قابلیت export به هر فرمتی را دارد. برای مثال
من یک دتابیس اکسس را با 127000 رکورد در طی 2 دقیقه با آن توانستم
به دیتابیس sql server تبدیل کنم . یعنی به عبارتی 15 میلیون رکورد حدود
4 ساعت طول می کشد و نه 26 ساعت ..... و برای 500 میلیون رکورد حدود
133 ساعت .......!!
روش کار به صورت زیر است:
یک فایل متنی ساده درست کنید و پسوند آنرا به صورت dsn در آورید
دیتابیس خودتان را در برنامه Vis data باز کنید. تقریبا تمام فرمتهای شناخته
شده را پشتیبانی می کند.
داخل فایل متنی با پسوند dsn عبارت های زیر را کپی و پیست کنید:
[ODBC]
DRIVER=SQL Server
UID=Administrator
Trusted_Connection=Yes
AutoTranslate=No
DATABASE=alaki
WSID=N1
APP=VisData
SERVER=(local)
Description=MyNEWDB

در مثال فوق alaki نام دیتابیسی است موجود در SQL Server که جدول شما
به آن اضافه خواهد شد .
سپس در برنامه Vis data از منوی فایل گزینه export را انتخاب کنید و سپس
آخرین گزینه آن یعنی ODBC را انتخاب نمایید و همچنین جدولی را که می خواهید
export کنید .
سپس مسیر فایل dsn ایی را که درست کرده اید به آن بدهید و عملیات تبدیل
شروع می شود و پس از چند دقیقه و یا چند ساعت!! تکمیل می گردد.
البته من نمی دانم معادل این عملیات در دلفی چیست ( :wink: ) ....... چون من از دلفی
برای برنامه نویسی گرافیکی استفاده می کردم!!!
آیا از دوستان کسی روش سریعتری را سراغ دارد؟ :roll: :?:
موفق باشید

ناصرقلی
پنج شنبه 14 فروردین 1382, 22:00 عصر
تجربه شخصی:
نه!
برای یک سیستم pIII 800 یک کوری روی 600000 رکورد نزدیک 4 دقیقه طول کشید
و رو سرور Dual Athlon 2000 با 60000 رکورد هر پرس و جو نزدیک 25٪ از توان سرور را برای نیم ثانیه مصرف میکند.

S.Azish
دوشنبه 18 فروردین 1382, 15:09 عصر
بهترین روش برای انتقال دیتا از یا به SQL Server استفاده از DTS (Data Transformation Service) هست که سرعت بسیار بالایی هم داره و پکیجهایی هم میتونه درست کنه که قابل ادیت کردن هستن