Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

C# Sql Cümlelerini Insert Eden Servis


adam4
 Share

Recommended Posts

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.

Link to comment
Share on other sites

  • 2 hafta sonra ...
  • Editor

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.

Link to comment
Share on other sites

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.

oODPqQ.png

 

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 

lOa2RE.png

 

Şöyle bir şey yapmak istiyorum.Adı ne bilmiyorum bunun ama bunu nasıl yaparım.

 

 

 

 

Link to comment
Share on other sites

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.

oODPqQ.png

 

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 

lOa2RE.png

 

Şö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;}

 

Link to comment
Share on other sites

  • Editor

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.

Link to comment
Share on other sites

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 ; 

G98RM7.png

 

Local sql araştırdım biraz eve gindince deneyeceğim onuda.Teşekkürler bu arada cevap için.

 

 

Link to comment
Share on other sites

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. 

  • Like 1
Link to comment
Share on other sites

  • Editor
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 ; 

G98RM7.png

 

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.

Link to comment
Share on other sites

  • Editor

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...