C# form projesi başka bir bilgisayarda veri tabanı hatası veriyor

NLRezonance

Hectopat
Katılım
12 Mayıs 2020
Mesajlar
641
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
C# form projem kendi bilgisayarımda herhangi bir sıkıntı çıkarmıyor fakat başka bir bilgisyara kurunca kullanıcı işlemleri yaparken veri tabanı hatası alıyorum. En basit yollu olarak bunu nasıl yapabilirim? Programımda internet bağlantısına gerek yok.
 

Dosya Ekleri

  • WhatsApp Görsel 2024-01-10 saat 21.04.54_321843c2.jpg
    WhatsApp Görsel 2024-01-10 saat 21.04.54_321843c2.jpg
    69,2 KB · Görüntüleme: 37
SQLite güvenlik açısından sıkıntılı şifreleme yapmak gerekiyor programı kırarlarsa bir şekilde database dosyasına kolay erişiyorlar.
Tabiki hocam. SQLite zaten kişiye bağlı oluyor ki. Mesela Notlar uygulaması gibi. Bunun server da tutulmasına gerek yok. Fakat program bir şekilde bir yere veri yazmak zorunda. Ya SQLite gibi global bir çözüme gidilecek yada custom db oluşturacak. Program kırılsa bile geliştiriciye bir şey olmaz. Çünkü orada sadece kullanıcının kendi verisi var. Server bilgileri veya başka ek bilgi yok.

Online program kodlayanlar genellikle satın aldıkları server üzerinden bağlantı yapmasını sağlıyorlar.
Bu sebeple demiştim, SQLite kullanırsan ortak verilere erişemezsin diye.

SQLite online bir sunucu olmadığı için sadece Local üzerinden veri yazabiliyor. Bu da veri saklamak için verimli olduğu anlamına gelir. Ancak benim arkadaşımın yazdığı kod dosya indirme sitesinden database'yi indiriyor ve dosyayı ilgili konuma atıyor bu şekilde database'yi online okuyor. Sonra kimse geri açmasın diye siliyor. (%999 Güvenli veri tabanı koruması (!) )Lakin SQLite'nin çevirimiçi vs. olmasından daha çok olan problem kırılmasıdır. İyi şifrelenmediği takdirde kolay kırılıyor. Dediğiniz gibi azure gibi 1 aylığı ücretsiz olan VDS almak daha mantıklı. Hocasına gösterir işi bitince ödemeyi kapatır para da vermemiş olur.
SQLite kullanılan çoğu proje genelde güvenlikle alası olmuyor. Yada ben hep öyle gördüm. Mesela yukardaki örneğim gibi, Notlar uygulaması. Takvim, anımsatıcı, todo list gibi basit projeler.
Güvenlik istiyorsa zaten proje içerisinde db connection bulundurmayacak. API üzerinden iletişime geçecek.
 
Entitiy Framework ile yaparsan, migration kullanarak veritabaının oluşturabilirsin. Doğru bağlantı bilgileriyle proje dizininde
Kod:
dotnet ef  database update
yazınca oluşturması lazım veritabanını. Kodu düzelttim.
 
Son düzenleme:

Geri
Yukarı