<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Turkcekaynak.net &#187; sqlbulkcopy column mapping</title>
	<atom:link href="http://turkcekaynak.net/tag/sqlbulkcopy-column-mapping/feed" rel="self" type="application/rss+xml" />
	<link>http://turkcekaynak.net</link>
	<description>Windows 7, Wordpress, Dmoz, Google, Msn, Programlama, Yazılım, İnternet</description>
	<lastBuildDate>Fri, 21 Oct 2011 20:29:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SqlBulkCopy Class kullanımı</title>
		<link>http://turkcekaynak.net/programlama/c-sharp/sqlbulkcopy-class-kullanimi.html</link>
		<comments>http://turkcekaynak.net/programlama/c-sharp/sqlbulkcopy-class-kullanimi.html#comments</comments>
		<pubDate>Sat, 12 Sep 2009 00:12:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[sqlbulkcopy]]></category>
		<category><![CDATA[sqlbulkcopy c]]></category>
		<category><![CDATA[sqlbulkcopy column mapping]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=507</guid>
		<description><![CDATA[SqlBulkCopy sınıfı, iki veritabanı arasında veya aynı veritabanı içindeki, iki tablo arasında kopyalama yapmak için kullanılan çok basit bir sınıftır. Bu sınıf ile 500.000 adet veriyi 1 dakika içerisinde kopyalayabilmektesiniz. Bu açıdan oldukça kullanışlıdır. Şimdi bir örnekte bunu inceleyelim. İlk olarak bir Windows form açalım. Ve bir adet buton ekleyelim. Butonun click olayına şağıdaki kodları [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right;margin: 4px;"><script type="text/javascript"><!--
google_ad_client = "pub-7647590832779597";
/* 250x250, oluşturulma 09.04.2010 */
google_ad_slot = "6514548591";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p> <p>SqlBulkCopy sınıfı, iki veritabanı arasında veya aynı veritabanı içindeki, iki tablo arasında kopyalama yapmak için kullanılan çok basit bir sınıftır. Bu sınıf ile 500.000 adet veriyi 1 dakika içerisinde kopyalayabilmektesiniz. Bu açıdan oldukça kullanışlıdır. Şimdi bir örnekte bunu inceleyelim.</p>
<p>İlk olarak bir Windows form açalım. Ve bir adet buton ekleyelim. Butonun click olayına şağıdaki kodları yazalım.</p>
<pre class="brush: csharp; title: ; notranslate">private void button1_Click(object sender, EventArgs e)

{

SqlConnection baglanti1 = new SqlConnection(&quot;server=localhost; initial catalog=Ticari; integrated security=true&quot;);

//ilk olarak kopyalayacağımız veritabanı için bağlantı oluşturduk.

SqlCommand komut = new SqlCommand(&quot;select * from stok&quot;, baglanti1);

baglanti1.Open();

SqlDataReader oku = komut.ExecuteReader();

DataTable dt = new DataTable();

dt.Load(oku);

oku.Close();

baglanti1.Close();

// veritabanını okuyup, bir datatable'a aktardık ve bağlantıyı kapattık.

SqlConnection baglanti2=new SqlConnection(&quot;server=localhost; initial catalog=kopyaTicari; integrated security=true&quot;);

// şimdi de hedef veritabanı için bir bağlantı oluşturduk.

// Not: Eğer kopyalayacağınız tablolar aynı veritabanı içindeyse tek bir bağlantı yeterlidir. ben farklı veritabanları arasında kopyalama yaptığım için iki farklı bağlantı oluşturdum.

SqlBulkCopy kopyalama = new SqlBulkCopy(baglanti2);

// SqlBulkCopy sınıfından bir adet nesne türettik. Dikkat ettiyseniz bağlantı olarak hedef veritabanının bağlantısını verdik.

baglanti2.Open();

kopyalama.ColumnMappings.Add(&quot;id&quot;, &quot;id&quot;);

kopyalama.ColumnMappings.Add(&quot;Malzeme&quot;, &quot;Malzeme&quot;);

kopyalama.ColumnMappings.Add(&quot;Adet&quot;, &quot;Adet&quot;);

// bu üç satırda kaynak tablodaki sutunların, hedef tablodaki hangi sütunlara kopyalanacağını belirttik.

kopyalama.DestinationTableName = &quot;dbo.kopyastok&quot;;

// hedef tablonun ismini belirttik.

kopyalama.WriteToServer(dt);

// kopyalamaya başladık.

baglanti2.Close();

}</pre>
<p>Burda kodları tekrar açıklamayacağım zaten yanlarında hepsini açıkladım. Eklemek istediğim bir şey var. Ben burada tablonun tamamını kopyaladım. Eğer isteseydim sadece bir ya da iki sütunu da koyalayabilirdim. Bunu, sütunları eşleştirdiğimiz kod satırlarında sağlarız. Mesela aşağıdaki gibi olsaydı sadece id ve Malzeme sütunlarını kopyalamış olacaktık.</p>
<pre class="brush: csharp; title: ; notranslate">kopyalama.ColumnMappings.Add(&quot;id&quot;, &quot;id&quot;);

kopyalama.ColumnMappings.Add(&quot;Malzeme&quot;, &quot;Malzeme&quot;);</pre>
<p>Son olarak şunu belirteyim, hedef veritabanını ve tabloyu daha önce kendimiz oluşturduk. Bunu istersek bir kodla da yapabiliriz ama o kısmı burada değil başka bir yazımda ele alacağım. Şimdilik bu kadar yeter <img src='http://turkcekaynak.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/c-sharp/sqlbulkcopy-class-kullanimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

