Merhaba arkadaşlar

Elimde sisuyg.db adında bir SqLite veritabanı var, bu dosyayı projeye gömmek için hangi dizine koymalıyım, dizine yerleştirdikten sonra bağlantıyı nasıl yapabilirim?

Normalde ana dizine dosyayı koyup aşşağıdaki kod ile bağlanıyorum, ancak derlendiğinde benim dosya projenin içine yerleşmiyor

String sunucu = "jdbc:sqlite:";
String surucu = "org.sqlite.JDBC";
String veritabaniAdi = "sisuyg.db";

try {
    Class.forName(surucu);
    Connection koridor = DriverManager.getConnection(sunucu + veritabaniAdi);
    return koridor;
} catch (Exception ex) {
    JOptionPane.showMessageDialog(null, "BAĞLANTI HATASI : " + ex, "MESAJ", JOptionPane.ERROR_MESSAGE);
    return null;
}

soruldu: 18 Tem '12, 08:41

saidghrnk's gravatar image

saidghrnk
111283536
cevap kabul oranı: 0%

değiştirildi: 19 Tem '12, 05:28

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


jdbc driver'i classpath'e eklemeyi unutmayin. Sonra veritabanina asagidaki gibi path vererek deneyin.


   // ... driver ve diger jdbc ayarlari sorudaki gibi
   // windows icin
   conn = DriverManager.getConnection("jdbc:sqlite:D:\\\\VERITABANI\\\\YOLU\\\\testdb.db");
   // GNU/Linux icin
   conn = DriverManager.getConnection("jdbc:sqlite:/VERITABANI/YOLU/testdb.db");

permanent link

cevaplandı: 18 Tem '12, 09:07

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Cem bey, normalde yukarıdaki kodum çalışıyor. Ancak bu yöntemle yapıp uygulamayı derlediğimde db dosyası projenin içine girmiyor. Ben elimdeki hazır veritabanını uygulamaya gömerek derleme yaptıkdan sonrada eklediğim db ile uygulamanın çalışmasını istiyorum

db dosyasını projenin içinde bir paket oluşturup orayamı koymam lazım, ki öyle olacaksa bunun url'si nasıl olur?

(18 Tem '12, 09:12) saidghrnk saidghrnk's gravatar image

Projem java projesi dizin yapisi

Projem

-src

--com.projem.paket1

-db (bu dizin proje altinda olmali ve icinde sqlite veritabani olmali fakat src icinde java kaynaklari olmali)

Sqlite veritabani compile edilmis projem.jar icinde olmicak, proje.jar nerdeyse onun yaninda db diye bir dizin icinde olacak (db dizinini kullanmak istemiyorsaniz direk projem.jar yanina da koyabilirsiniz.)

(18 Tem '12, 09:25) CemIkta ♦ CemIkta's gravatar image

Kendi projelerimde

con = DriverManager.getConnection("jdbc:sqlite:./data/test.db");

şeklinde kullanıyorum. "jdbc:sqlite:"'dan sonra nokta operatörü linux ve windowsta bulunduğu klasör anlamına gelerek veritabanı çalışır projenin içinde yer alıyor. Yapmak istediğiniz böyle bir şey sanırım.

String surucu = "org.sqlite.JDBC";
String yol = "jdbc:sqlite:./sisuyg.db";

try {
    Class.forName(surucu);
    Connection koridor = DriverManager.getConnection(yol);
    return koridor;
} catch (Exception ex) {
    JOptionPane.showMessageDialog(null, "BAĞLANTI HATASI : " + ex, "MESAJ", JOptionPane.ERROR_MESSAGE);
    return null;
}

Bu şekilde bir deneyin. İstediğiniz gibi olacak sanırım.

permanent link

cevaplandı: 18 Tem '12, 19:25

x2tr's gravatar image

x2tr
415101622
cevap kabul oranı: 11%

Malesef dostum olmuyor, Cem bey şu şekilde söylüyor

"Sqlite veritabani compile edilmis projem.jar icinde olmicak, proje.jar nerdeyse onun yaninda db diye bir dizin icinde olacak (db dizinini kullanmak istemiyorsaniz direk projem.jar yanina da koyabilirsiniz."

jar dosyasının içine gömmenin bir yolu yok sanırım

(19 Tem '12, 03:25) saidghrnk saidghrnk's gravatar image

jar dosyasının içine gömme duymadım, bilmiyorum. Gördüğüm tüm uygulamalar bu şekilde yapılıyor. çalıştırılabilir jar dosyasının bulunduğu dizin veya alt dizinlerinde yer alıyor. jar dosyasının yanında diziminde/alt dizininde olur veya her işletim sisteminin özelliğine göre değişik yerlerde tutulabilir. Bence en mantıklısı proje dizinidir.

(19 Tem '12, 04:28) x2tr x2tr's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×39

Soruldu: 18 Tem '12, 08:41

Görüntüleme: 1,421 kez

Son güncelleme: 19 Tem '12, 05:28

powered by BitNami OSQA