Yazar |
|
ender
iskenderun
Kayıt: 14.01.2006 |
|
SqlClient içerisinde yeralan SqlBulkCopy sınıfını kullanıyorum.
Tablodan gelen verileri datatable' a atıp bu datatable' a yeni satır eklenince primary key 'i aynı olanların kopyalanmasını engellemek için
bc.WriteToServer(dt, DataRowState.Added); yazıyoruz.
Peki verileri datatable yerine sqldatareader yardımıyla çekersek hangi ifadeyi yazmamız gerekiyor?
bc.WriteToServer(dr);
|
|
Yazar |
|
tarikkranda
Kayıt: 07.01.2006 |
|
ender yazdi | SqlClient içerisinde yeralan SqlBulkCopy sınıfını kullanıyorum.
Tablodan gelen verileri datatable' a atıp bu datatable' a yeni satır eklenince primary key 'i aynı olanların kopyalanmasını engellemek için
bc.WriteToServer(dt, DataRowState.Added); yazıyoruz.
Peki verileri datatable yerine sqldatareader yardımıyla çekersek hangi ifadeyi yazmamız gerekiyor?
bc.WriteToServer(dr); |
SqlDatareader in primary key kontrolu tarzi bir ozelligi oldugunu zannetmiyorum. Siz DataTable i bu primary key kontrolu icin ara bir buffer olarak mi kullaniyorsunuz? Onun haricinde SqlBulkCopy sinifinin DataReader ile kullanimi sizin yazdiginiz sekilde zaten. bc.WriteToServer(dr);
|
|
Yazar |
|
ender
iskenderun
Kayıt: 14.01.2006 |
|
Evet öyle bir özelliği yok,fakat primary key kontrolünü bir şekilde yapmam gerekiyor.SqlDataReader ile verileri okuyup,kopyalanacak hedef tabloyu da belirtip SqlBulkCopyMapping ile eşleme yaptıktan sonra yeni kayıtlar eklenmeli,eski kayıtlar ise güncellenmeli.Bunu nasıl sağlayabileceğim asıl sorunum.
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|