Database Kaynaklı Bir Sorun (yazılımdaki bazı fonksiyonlar çalışmıyor)

Başlatan pwl, 19 Kasım 2011 - 16:06:07

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

pwl

Merhaba arkadaşlar,

Aranızda C# uzmanı arkadaşlar mevcuttur eminim. Tıkandığım bu noktada sizden yardım rica ediyorum. Belki sizin için basit bir sorundur benim göremediğim, atladığım vs..

Windows ortamında, C# ile geliştirilen, MSSQL database kullanılarak ilişkilendirilmiş bir yazılım var. Ancak database tarafında çözemediğim bir sorun var.
Programı win7 x64 mimaride vs 2005(vs2008 ve vs 2010 ile de test ettim sorun yok.) ile debug edip, fonksiyonlarını yerine getirebiliyor mu diye baktım.
Herhangi bir sorun yok. Yazılım içerisinde kullanılan bazı fonksiyonlar (tamamı değil) başarılı bir şekilde çalışıyor.

Ancak veri girişi yapıldıktan sonra kayıt işlemi yapabilmesi ya da kayıttan görüntüleme yapmak için db'ye ihtiyacımız olacağı için "düzelt" ve "listele" fonksiyonları üzerinde işlem yaptığımda db'ye bağlantı kurulmadığindan dolayı sıkıntı çıkartıyor ve bir uyarı veriyor ya da program yanıt vermiyor.

Bu konu hakkında bir arkadaşıma danıştığımda db'yi restore edip "xconstring" constant'ına benim local'deki db'nin path'ini vermem gerektiğini belirtti.

Database'i restore işlemi yaptıktan sonra;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

bağlanmak için bu satırı kullanarak bilgileri kendime göre düzenleyeceğim öyle değil mi ?

Şimdi bu öneriyle ilerleme kaydetmeye çalışıyorum, elde ettiğim deneme sonuçlarını sizlerle paylaşacağım.

1. Daha öncesinde bu gibi bir sorunla karşılaşan ya da sorunun ne olduğunu çözebilen bir arkadaşımız var mı ?

2. Database tarafında bir sorun olmadığını ve %100 kendinden beklenen gereksinimleri yerine getirip getirmediğini nasıl anlarım. ".sql" uzantılı verileri sql server ile açarak execute ettiğimde bazıları çalışıyor bazıları çalışmıyor, hata veriyor.

Konu hakkında yardımlarınızı rica ediyorum. Umarım basit ve hemen halledilebilecek bir sorundur :(

sem

Hakim olduğum bir konu değil fakat;

Veri tabanına neden bağlanmıyor? Ne gibi bir hata veriyor? Oluşan istisnai durumdan sorun incelenebilir. Bağlanamama durumunda aldığınız nedir? Bir Exception mı yakalıyorsunuz, yoksa sorgu sonucu boş döndüğü için mi bağlantı kurulamadı yargısına vardınız?

Veri tabanına kendisinin araçları ile bağlanıp program içerisinden oluşturup gönderdiğiniz sorguları test etmenizi öneririm. SQLite ile bir uygulama geliştirirken bir virgül yaklaşık saatimi almıştı =)

Yani önce veri tabanına bağlanamama sorununu çözüp daha sonra yine sorun yaşıyorsanız sorguları gözden geçirmenizi öneririm.

Ama

"db'ye bağlantı kurulmadığindan dolayı sıkıntı çıkartıyor ve bir uyarı veriyor ya da program yanıt vermiyor."

dediğiniz kısım kilit noktanız olabilir yani. Verilen uyarı nedir?


xconstring constant'ı demişsiniz... Bu C#!a özel bir yapı mıdır? Constant dediğinize göre bir sabit gibi anlaşılıyor. Cılız C# bilgimden hatırladığım kadarı ile böyle bir şeyi anımsayamadım. Bu dediğiniz program içerisinde kendi tanıttığınız ve veri tabanı bağlantısı için kullandığınız "Connection String" değerini tuttuğunuz değişkeniniz mi? Eğer öyle ise bu değişkenin veri tabanına göre değişiklik gösterdiğini biliyorsunuzdur (Hatta bazen versiyonuna göre bile değişiklik gösterdiğini anımsıyorum.), bu string değeriniz nedir? Güvendiğiniz bir kaynaktan mı aldınız, doğruluğundan emin misiniz?

Ben ufak bir uygulama yapmıştım, Excel'i veri tabanı olarak kullanan. Ve Connection String, araştırması en uzun kısım olmuştu. Sanırım 4., 5. falan tutmuştu ancak.

Önerim birimler ile ufak bir program yazıp veri tabanından select sorgusunu almaya çalışın. Bu ufak programda hatayı (bağlantı hatasını) yakalamak daha kolay olacaktır. Bağlantı kurup select sonucunu elde edebiliyorsanız bu ufak program ile kendi asıl programınızı da buna göre düzenlersiniz. Eğer fark yoksa o zaman farklı yerlerde aranabilir belki sorun.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

pwl

Selamlar.

Öncelikle cevabınız için teşekkür ederim. Sorunu hallettim. Cevabınızın tamamını şu anda vaktim olmadığı için okuyamadım, sonra okuyacağım.

Problemi belirleyip gidermek biraz zaman alsa da bu zamana değdi.

MSSQL Server 2008'de path değişimi yaptım. DB'i baştan oluşturdum. Daha sonra detaylı yazarım.

saygılar.


if

@pwl, detaylı cevabı geçtiğinizde çözüldü etiketi eklemeyi de unutmayın:)

empax

@pwl, hemen hemen benzer bir konuyla uğraşıyorum şu an. Merak ettiğim bir konu var, c# ile yazılmış program mysql veritabanına bağlanırken kullanıcı adı ve şifresiyle giriş yapıyor sanırım. Aksi takdirde nasıl bağlanacak (?) Peki bu herhangi bir güvenlik sorunu teşkil etmez mi?
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|

pwl

Alıntı yapılan: empax - 21 Kasım 2011 - 20:21:31
@pwl, hemen hemen benzer bir konuyla ugrasiyorum suan. Merak ettigim bir konu var, c# ile yazilmis program mysql veritabanina baglanirken kullanici adi ve sifresiyle giris yapiyor sanirim. Aksi taktirde nasil baglanacak (?) Peki bu herhangi bir guvenlik sorunu teskil etmez mi?

MSSQL demek istediniz herhalde ? evet isterseniz Windows Auth. ile belirleyip giriş yaparsınız, istersenizde SQL Server Auth yöntemi ile user:passwd belirleyip giriş yaparsınız. Herhangi bir güvenlik zafiyeti teşkil etmez, aksine kullanacağınız yazılıma göre path belirleyip sadece o yazılıma ait bir user:passwd tanımı yaparak daha güvende olursunuz.

Alıntı yapılan: if - 21 Kasım 2011 - 20:01:02
@pwl, detaylı cevabı geçtiğinizde çözüldü etiketi eklemeyi de unutmayın:)
@if
tabii ki. halen çok yoğunum. saygılar.

pwl

Tekrar selamlar arkadaşlar,

Uygulamanın ilk modülündeki hata giderilmiştir. Daha sonra sorunu nasıl çözdüğümü buraya ekleyeceğim demiştim. (Sorunu tamamen çözünce)

Ancak şu anda uygulamanın ikinci modülünde tıkandığım bir nokta var. Stored Procedur'lerle ilgili şöyle bir hata alıyorum;



ek olarak;

1. SP tam olarak hangi dizinde olmalıdır ?

2. sp'nin isim doğruluğunu nasıl kontrol edeceğim ?

3. user'ın sp için gereken yetkiye sahip olup olmadığını hangi yöntemle anlarım ?

Sorunun neden kaynaklandığını bilen ya da daha öncesinde bu tür bir sorun ile karşılan var mıdır ? Önerilerinizi bekliyorum.

Benim kanaatim sp'lerin doğru çalışmadığı yönündedir. kodlarda bir sıkıntı var. bakacağım. sonuç hakkında bilgilendirme yapacağım.

şimdiden yardımlarınız için teşekkür ederim.

pwl