En iyi yanıtlayıcılar
sql deki aynı tabloları excelden toplu olarak aynı anda veri kayıt ekleme!

Soru
-
merhaba ; aşağıda verdiğim örnekte sql tarafında tablo1'den 2,3,4,5,6 ya kadar tablo var bu tabloların tamamı aynıdır, bunu
excel üzerinde ilgili verilerimi girip hepsini bir seferde tablo1,2,3,4,5,6 ya kayıt etmesini istiyorum, yardımlarınız için şimdiden teşekkür ederim.Saygılar.
- Düzenleyen muharrem yılancı 1 Nisan 2020 Çarşamba 19:33 guncelleme
Yanıtlar
-
Bu calismaz.
1) sbc.DestinationTableName bir tane olmalı.
2) Isimlendirmelerin hepsi yanlış gibi. Ornegin tablo adin < TBL100 > ise, onu [< TBL100 >] diye yazmalısın. Ama tablo adinin < TBL100 > oldugunu sanmam, muhtemelen sadece TBL100'dur.
3) Sizin .\SQLExpress2012 diye bir SQL Server sunucunuz, makinenizde c:\Users\Cetin diye bir klasörünüz mu var???
Bu kadarcık T-SQL, C#, dosya sistemi bilmiyorsanız, SQL veritabanına dokunmayınız.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen muharrem yılancı 6 Nisan 2020 Pazartesi 18:26
Tüm Yanıtlar
-
-
Sorunu kimsenin anladigini zannetmiyorum.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
Sorunu kimsenin anladigini zannetmiyorum.
çetin hocam yukarıda tabloyu örnek olarak vermiştim , sql server de örnek 6 adet tablom var , bu tabloda girilecek bilgiler aynı olduğundan bunu tek bir excelden verileri girerek , c# den kodlayarak sql server deki tablolarıma kayıt etsin istiyorum.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
-
Sorunu kimsenin anladigini zannetmiyorum.
çetin hocam yukarıda tabloyu örnek olarak vermiştim , sql server de örnek 6 adet tablom var , bu tabloda girilecek bilgiler aynı olduğundan bunu tek bir excelden verileri girerek , c# den kodlayarak sql server deki tablolarıma kayıt etsin istiyorum.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
çetin hocam , belkide anlatışımda kendimi izahat edemedim. yapmak istediğim tbl100 , tbl101 , tbl102 , tbl103 , tbl104, tbl105 , tbl106
bu tablolara excelden yazıp ilgili tablolara ayrı ayrı kayıt yapmasını istiyorum.
6 tablomda TARIH,BELGEKODU,BELGENUMARASI,IZAHAT,ACIKLAMA,KUR,PARABIRIMI,TUTAR
bu kolonlarım hepsindede aynıdır.
-
çetin hocam tamam bu konuyu , sizin yazdığınız kodu buldum , TBL100,TBL101,TBL102,TBL103,TBL104,TBL105,TBL106 bu tablolara nasıl kodla ilave neyi yazarsak bu 6 tabloya hepsine yazsın istiyorum.
void Main() { string sqlConnectionString = @"server=.\SQLExpress;Trusted_Connection=yes;Database=SampleDb"; string dataSource = @"c:\temp\data.xlsx"; string sheetName = "sheet1$"; using (OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + $@"Data Source={dataSource};Extended Properties=""Excel 12.0;HDR=Yes""")) using (OleDbCommand cmd = new OleDbCommand($"select * from [{sheetName}]", cn)) using (SqlConnection scn = new SqlConnection(sqlConnectionString)) { SqlBulkCopy sbc = new SqlBulkCopy(scn, SqlBulkCopyOptions.TableLock, null); sbc.ColumnMappings.Add("[Id]", "[id]"); sbc.ColumnMappings.Add("[DDC Name]", "[Hvac_DDC_Name]"); sbc.ColumnMappings.Add("[DDC Description]", "[Hvac_DDC_Description]"); sbc.ColumnMappings.Add("[System Name]", "[Hvac_System_Name]"); sbc.ColumnMappings.Add("[System Description]", "[Hvac_System_Description]"); sbc.ColumnMappings.Add("[Point Description]", "[Hvac_Point_Description]"); sbc.ColumnMappings.Add("[Field Material]", "[Hvac_Field_Material]"); sbc.ColumnMappings.Add("[AI(P)]", "[Hvac_AIP]"); sbc.ColumnMappings.Add("[AI(V)]", "[Hvac_AIV]"); sbc.ColumnMappings.Add("[DI]", "[Hvac_DI]"); sbc.ColumnMappings.Add("[AO]", "[Hvac_AO]"); sbc.ColumnMappings.Add("[DO]", "[Hvac_DO]"); cn.Open(); scn.Open(); OleDbDataReader rdr = cmd.ExecuteReader(); sbc.DestinationTableName = "HVAC"; sbc.WriteToServer(rdr); cn.Close(); scn.Close(); } }
-
-
Tamam iste ornekleri de bulmuşsunuz, ne diye daha bana "tıkla"tiyorsunuz? Ben yazdigim kodları biliyorum zaten.
Onları kullanarak yazabilirsiniz.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
-
Ilgili yerlerine.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
-
Orada kod hazır ama yetmiyor :(
void Main() { string sqlConnectionString = "< sql server baglanti cumlesi >"; string dataSource = "< excel dosyasinin tam adi >"; string sheetName = "< exceldeki sayfa adi >"; using (OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + $@"Data Source={dataSource};Extended Properties=""Excel 12.0;HDR=Yes""")) using (OleDbCommand cmd = new OleDbCommand($"select * from [{sheetName}]", cn)) using (SqlConnection scn = new SqlConnection(sqlConnectionString)) { SqlBulkCopy sbc = new SqlBulkCopy(scn, SqlBulkCopyOptions.TableLock, null); sbc.ColumnMappings.Add("[< ExcelSutunAd1 >]", "[< SQLServerSutunAd1 >]"); sbc.ColumnMappings.Add("[< ExcelSutunAd2 >]", "[< SQLServerSutunAd2 >]"); // ... cn.Open(); scn.Open(); OleDbDataReader rdr = cmd.ExecuteReader(); sbc.DestinationTableName = "< sql server tablo adi >"; sbc.WriteToServer(rdr); cn.Close(); scn.Close(); }} }
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
"< sql server tablo adi >"; buraya
"<TBL100>";"<TBL101>";"<TBL102>";"<TBL103>";"<TBL104>";"<TBL105>";"<TBL106>"
tabloları böyle mi ekleyeceğiz ,
[< ExcelSutunAd1 >] bunların yerinede
TARIH,BELGEKODU,BELGENUMARASI,IZAHAT,ACIKLAMA,KUR,PARABIRIMI,TUTAR şunları
yazacağız anladığım kadarıyla:)))
-
C# bilen biri yapsın.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
-
void Main() { string sqlConnectionString = @"server=.\SQLExpress2012;Trusted_Connection=yes;Database=MARKET2020"; string path = @"C:\Users\Cetin\Documents\ExcelFill.xlsx"; string sheetName = "Sheet1$"; using (OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + $@"Data Source={dataSource};Extended Properties=""Excel 12.0;HDR=Yes""")) using (OleDbCommand cmd = new OleDbCommand($"select * from [{sheetName}]", cn)) using (SqlConnection scn = new SqlConnection(sqlConnectionString)) { SqlBulkCopy sbc = new SqlBulkCopy(scn, SqlBulkCopyOptions.TableLock, null); sbc.ColumnMappings.Add("[< TARIH >]", "[< TARIH >]"); sbc.ColumnMappings.Add("[< BELGEKODU >]", "[< BELGEKODU >]"); sbc.ColumnMappings.Add("[< BELGENUMARASI >]", "[< BELGENUMARASI >]"); sbc.ColumnMappings.Add("[< IZAHAT >]", "[< IZAHAT >]"); sbc.ColumnMappings.Add("[< ACIKLAMA >]", "[< ACIKLAMA >]"); sbc.ColumnMappings.Add("[< KUR >]", "[< KUR >]"); sbc.ColumnMappings.Add("[< PARABIRIMI >]", "[< PARABIRIMI >]"); sbc.ColumnMappings.Add("[< TUTAR >]", "[< TUTAR >]"); // ... cn.Open(); scn.Open(); OleDbDataReader rdr = cmd.ExecuteReader(); sbc.DestinationTableName = "< TBL100 >"; sbc.DestinationTableName = "< TBL101 >"; sbc.DestinationTableName = "< TBL102 >"; sbc.DestinationTableName = "< TBL103 >"; sbc.DestinationTableName = "< TBL104 >"; sbc.DestinationTableName = "< TBL105 >"; sbc.DestinationTableName = "< TBL106 >"; sbc.WriteToServer(rdr); cn.Close(); scn.Close(); }} }
-
Bu calismaz.
1) sbc.DestinationTableName bir tane olmalı.
2) Isimlendirmelerin hepsi yanlış gibi. Ornegin tablo adin < TBL100 > ise, onu [< TBL100 >] diye yazmalısın. Ama tablo adinin < TBL100 > oldugunu sanmam, muhtemelen sadece TBL100'dur.
3) Sizin .\SQLExpress2012 diye bir SQL Server sunucunuz, makinenizde c:\Users\Cetin diye bir klasörünüz mu var???
Bu kadarcık T-SQL, C#, dosya sistemi bilmiyorsanız, SQL veritabanına dokunmayınız.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen muharrem yılancı 6 Nisan 2020 Pazartesi 18:26