تبلیغات
iranexperts - مطالب SQL SERVER
دوشنبه 17 مرداد 1390  01:27 ب.ظ    ویرایش: - -
توسط: امیر
نوع مطلب: SQL SERVER ،
ارسال به

گاهی اوقات نیاز داریم اطلاعاتی را در یک بانک sql درج کنیم که ممکنه این اطلاعات حجمشون زیاد باشه و در واقع تعداد رکورد های ما زیاد باشه

خوب اگه بخواهیم این اطلاعات رو رکورد به رکورد بخونیم و در یک بانک درج کنیم ممکنه زمان زیادی طول بکشه

روشی که برای ذخیره اطلاعات با حجم زیاد در sql وجود داره اینه که ابتدا باید داده ها رو در یک datatable  و یا یک datareader  قرار بدیم و بعد با استفاده از دستورات زیر اطلاعات رو در مدت زمان کوتاهی در بانک مورد نظر ذخیره  کنیم

SqlBulkCopy sbc = new SqlBulkCopy(@"Data Source=10.4.10.8;Initial "Catalog=dbname;Integrated Security=SSPI

sbc.DestinationTableName = tablename;

sbc.WriteToServer(datatablename);

sbc.Close();

با استفاده از دستورات بالا، محتویات datatable ما در جدول مورد نظر درج خواهد شد

دقت دارید که ساختار datatable باید شبیه به  جدول بانک اطلاعاتی باشد .

   


نظرات()   
یکشنبه 16 مرداد 1390  10:45 ق.ظ    ویرایش: - -
توسط: امیر
نوع مطلب: SQL SERVER ،
ارسال به

فرض کنید فایلی متنی داریم که این فایل دارای اطلاعاتی است که اطلاعات آن شبیه به جدول در آن ذخیره شده

مثلا هر رکورد در یک خط ذخیره شده و هر فیلد از هر رکورد آن با کاراکتر تب( t\ ) از هم جدا شده

و می خواهیم اطلاعات این فایل رو در یک جدول از بانک sql ذخیره کنیم

فرض کنید محتویات فایل به شکل زیر باشه

amir        niazai        123

mohammad        sadeghi        456

برای ذخیره این فایل درون یک جدول Sql ( که جدول باید دارای 3 فیلد باشه ) به شکل زیر عمل می کنیم

 bulk insert fegh.dbo.treemain
   FROM 'C:\Users\Niazi\Desktop\table\tree.txt'
   WITH
      (
         FIELDTERMINATOR ='\t',
         ROWTERMINATOR ='\n',
         codepage='1256'
      )

که نام جدول و بانک رو جلوی دستور bulk insert میاریم

آدرس فایل رو هم جلوی دستور from

و ساختار فایل رو هم در قسمت with

 

   


نظرات()   

iranexperts

آموزش جی کوئری ، html5 و CSS3