adam4 Posted April 14, 2018 Share Posted April 14, 2018 C# SQL Cümlelerini Insert Eden Servis Selamlar arkadaşlar.C# da bir servis hazırlamam gerekiyor.İştee atıyorum satıs database'imin içinde satış diye bir tablo var. Ben bu tabloyu 30 dakikada bir başka bir veritabanına insert yaptıracağım.satıs.sql diye dışarıda tuttugum bir cümlem var.Bu servis bu cumleyi 30 dakikada bir çalıştıracak. Nasıl hazırlarım böyle bir servisi.Yardımlarınızı bekliyorum.Şimdiden teşekkür ederim. Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted April 27, 2018 Editor Share Posted April 27, 2018 Bunun için trigger kullanabilirsin yada schedule tanımlayıp her X dakikada bir şu kodu çalıştırabilirsiniz. insert into yedek_db select * from asil_db şeklinde kolonlar felan birebir aynıysa bu kod işinizi görecektir. Quote Link to comment Share on other sites More sharing options...
adam4 Posted April 28, 2018 Author Share Posted April 28, 2018 Hocam kolonlar aynı olacak.Bunun ayarlı içinde bir form dizayn etmeyi düşünüyorum.Ayaralrıyla alakalı. Yalnız ben cümleyi dışardan almak istiyorum yani şu şekilde. Yani dışarda böyle cümlelerim var benim atıyorum 30 dakikada bir bunları çalıştıracak ve bir log kaydı bırakacak.Bu cümle çalıştırıldı ve başarılı diye. Birde sizi bulmuşkan şunuda sormak isterimm. Projemde cGenel diye bi class açtım ve içinde şu var ; public string conString = ("Server=DESKTOP-ADAM4;Database=adam4;Trusted_Connection=True"); Ben bütün classlarımda veritabanı bağlantısını burdan sağladım.Şimdi ben bu projeyi başka bilgisayara atınca haliyle çalışmayacak. Ben şöyle bir şey yapmak istiyorum.Forma sqla girerken girdiğim Login ve Passwordu girince combobox'a datebaseler gelecek.Ordan seçip bağlantı kuracağım. İlk olarak bunu yapmak istiyorum.Birde projeyi aktardığım bilgisayarda SQL server yoksada Şöyle bir şey yapmak istiyorum.Adı ne bilmiyorum bunun ama bunu nasıl yaparım. Quote Link to comment Share on other sites More sharing options...
ylmz025 Posted April 28, 2018 Share Posted April 28, 2018 adam4, 10 saat önce yazdı: Hocam kolonlar aynı olacak.Bunun ayarlı içinde bir form dizayn etmeyi düşünüyorum.Ayaralrıyla alakalı. Yalnız ben cümleyi dışardan almak istiyorum yani şu şekilde. Yani dışarda böyle cümlelerim var benim atıyorum 30 dakikada bir bunları çalıştıracak ve bir log kaydı bırakacak.Bu cümle çalıştırıldı ve başarılı diye. Birde sizi bulmuşkan şunuda sormak isterimm. Projemde cGenel diye bi class açtım ve içinde şu var ; public string conString = ("Server=DESKTOP-ADAM4;Database=adam4;Trusted_Connection=True"); Ben bütün classlarımda veritabanı bağlantısını burdan sağladım.Şimdi ben bu projeyi başka bilgisayara atınca haliyle çalışmayacak. Ben şöyle bir şey yapmak istiyorum.Forma sqla girerken girdiğim Login ve Passwordu girince combobox'a datebaseler gelecek.Ordan seçip bağlantı kuracağım. İlk olarak bunu yapmak istiyorum.Birde projeyi aktardığım bilgisayarda SQL server yoksada Şöyle bir şey yapmak istiyorum.Adı ne bilmiyorum bunun ama bunu nasıl yaparım. son dediğini pek anlamadım ama bağlantı cümleni en basit haliyle bir text dosyasına yazıp bunu da program.cs te okutursan her yerde çalıştırırsın projeni. Örnek olarak; string conStrPath = Environment.CurrentDirectory + "\\constr.text"; cGenel.conString = File.ReadAllText(conStrPath); bu arada cGenel içinde değişkeni static bir property olarak tanımlarsan rahat edersin. Örnek; public static string conString {get; set;} Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted April 29, 2018 Editor Share Posted April 29, 2018 Birincisi bağlantı cümlesi text te felan tutulmaz. Teknik olarka tutarsın okursun işini görür ama. Güvenliğe aykırı. İlk dediğin şeyi sql server da job çalıştırman lazım bir ob oluşturacaksın öncelikle. Bu job Exec **** şeklinde alt alta senin bu sql dosyacıklarını çalıştıracak. Sorun yok yapılır yani. 2. Sorun için ise local sql dosyası kullanabilirsin. Fakat bahsettiğim birincideki job işini yapamazsın onda. Sql Express felan kurup halledebilirsn ama işini. Quote Link to comment Share on other sites More sharing options...
adam4 Posted April 29, 2018 Author Share Posted April 29, 2018 Hocam bahsettiğiniz Job olayı şunlar sanırım ; Please register to see this content. Bu job olayını biraz açarmısınız.Mantığı nedir yani.benim anladığım kadarıyla bu belirtilen süre zarfında bişeyler yapıyor ama ne yapıyor anlamadım. Birde ben şimdi şu şekilde düşünüyorum. İzmirdeki veritabanımda satış tablom var. aynı şekilde istanbuldaki veritabanımdada satış tablom var.Kolonlar aynı hiç bir fark yok.Linked Server ile İstanbul'daki veritabanını izmire çektim. Benim yapmak istedim şu kısaca.Dışarıda cümlelerim var.Bu cümleler izmirdeki satışı istanbuldaki satışa select insert yapıyor. Ben bu cümleyi kendi belirlediğim sürede yani bi from sayfam var.Burdan 30 dakika seçersem 30 dakikada bir çalıştıracak. Süreyide kendim belirlemek istiyorum yani.İlk yapmak istediğim şey bu.Job bu işi yapar mı.Birde aslında ben şöyle düşünmüştüm ki bunu daha önce gördüğüm için söylüyorum elimdede aslında böyle bir örnek var.Bir servis yazılmış c#'da o çalıştırıyor bu cümleleri.Jobla bir bağlantısı yok sanırım. 2.konuya gelirsek. SELECT name FROM sys.databases; Bununda sistemdeki databaseleri buluyorum. public string conString = ("Server=DESKTOP-ADAM4;Database=adam4;Trusted_Connection=True"); Şimdi burada Server kısmını elle alabilirim. Server=@Server;Database=adam4;Trusted_Connection=True Ama ben Server'i degilde Login ve Password'u alarak bağlantı yapmak istiyorum. Databaseleride Combox'ta listeletip ordan çekmek istiyorum. Yani şu ; Local sql araştırdım biraz eve gindince deneyeceğim onuda.Teşekkürler bu arada cevap için. Quote Link to comment Share on other sites More sharing options...
ylmz025 Posted April 29, 2018 Share Posted April 29, 2018 pairs, 2 saat önce yazdı: Birincisi bağlantı cümlesi text te felan tutulmaz. Teknik olarka tutarsın okursun işini görür ama. Güvenliğe aykırı. İlk dediğin şeyi sql server da job çalıştırman lazım bir ob oluşturacaksın öncelikle. Bu job Exec **** şeklinde alt alta senin bu sql dosyacıklarını çalıştıracak. Sorun yok yapılır yani. 2. Sorun için ise local sql dosyası kullanabilirsin. Fakat bahsettiğim birincideki job işini yapamazsın onda. Sql Express felan kurup halledebilirsn ama işini. hocam en basit haliyle dedim bende zaten. güvenli olarak nasıl tutulur ? yanlış anlamayın bilgilenmek amaçlı soruyorum. 1 Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted April 30, 2018 Editor Share Posted April 30, 2018 adam4, 19 saat önce yazdı: Hocam bahsettiğiniz Job olayı şunlar sanırım ; Please register to see this content. Bu job olayını biraz açarmısınız.Mantığı nedir yani.benim anladığım kadarıyla bu belirtilen süre zarfında bişeyler yapıyor ama ne yapıyor anlamadım. Birde ben şimdi şu şekilde düşünüyorum. İzmirdeki veritabanımda satış tablom var. aynı şekilde istanbuldaki veritabanımdada satış tablom var.Kolonlar aynı hiç bir fark yok.Linked Server ile İstanbul'daki veritabanını izmire çektim. Benim yapmak istedim şu kısaca.Dışarıda cümlelerim var.Bu cümleler izmirdeki satışı istanbuldaki satışa select insert yapıyor. Ben bu cümleyi kendi belirlediğim sürede yani bi from sayfam var.Burdan 30 dakika seçersem 30 dakikada bir çalıştıracak. Süreyide kendim belirlemek istiyorum yani.İlk yapmak istediğim şey bu.Job bu işi yapar mı.Birde aslında ben şöyle düşünmüştüm ki bunu daha önce gördüğüm için söylüyorum elimdede aslında böyle bir örnek var.Bir servis yazılmış c#'da o çalıştırıyor bu cümleleri.Jobla bir bağlantısı yok sanırım. 2.konuya gelirsek. SELECT name FROM sys.databases; Bununda sistemdeki databaseleri buluyorum. public string conString = ("Server=DESKTOP-ADAM4;Database=adam4;Trusted_Connection=True"); Şimdi burada Server kısmını elle alabilirim. Server=@Server;Database=adam4;Trusted_Connection=True Ama ben Server'i degilde Login ve Password'u alarak bağlantı yapmak istiyorum. Databaseleride Combox'ta listeletip ordan çekmek istiyorum. Yani şu ; Local sql araştırdım biraz eve gindince deneyeceğim onuda.Teşekkürler bu arada cevap için. SSIS Kullanman daha saglıklı olacak senin durumunda. Bir SSIS paketi yapıp bunu sql de job a koyarsın. Belirlediğin zamanlarda çalışıp dataları aktarır. 2.Sorunu yanlışmı anladım ben. Lopcalde bi data base tutmak istiyordn. ylmz025, 18 saat önce yazdı: hocam en basit haliyle dedim bende zaten. güvenli olarak nasıl tutulur ? yanlış anlamayın bilgilenmek amaçlı soruyorum. Direk dışarıda text te tutmak şundan yanlış. Meraklı bir kullanıcı açar sonra verileri siler. Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted April 30, 2018 Editor Share Posted April 30, 2018 Please register to see this content. Bahsettiğim SSIS i bu ekranda Alttan 2. olan Sql Server Integration Services Package seçerek ekliyorsunuz. SSIS ile gerekirse bilgi çekildikten sonra arada c# kodu bile kullanabilirsiniz. Ftp ye yüklersniz yani bir sürü şey yapıp daha sonra verinin aktarımını gerçekleştirebilirsiniz. Hem çok gelişmiş hemde basit işler içinde kullanılabilir. SSIS konusunda yardımcı olabilirim takıldıgın yerde sorarsın. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.