Yazan : Şadi Evren ŞEKER

Bu yazının amacı JAVA programlama dilinden bir veri tabanına nasıl bağlanılacağını adım adım örnek kod üzerinden açıklamaktır. Uygulamada veri tabanı olarak JavaDB kullanacağız. Bu veritabanı netbeans ile birlikte gelmenin yanında Sun microsystems’in web sitesinden de indirilebilir.

Temel olarak bir programlama dilinden (JAVA veya farklı bir dil) bir veritabanına (database) bağlanmak ve veri almak için aşağıdaki üç adım izlenmelidir:

  • Veri tabanına bir bağlantı oluşturmak (connection)
  • Bağlantı üzerinden bir sorgunun çalıştırılması
  • Sorgunun sonucunun bir veri yapısı (Datastructure) içerisine alınması

Yukarıdaki bu adımları sırasıyla JAVA dilinde ve JavaDB veritabanında gerçekleştirmeye çalışalım.

Veritabanına bağlantı oluşturulması

Bu aşamada ve bundan sonraki veritabanı işlemlerinde JAVA dilinde bulunna java.sql.* paketini kullanıyoruz. Bu paket için

import java.sql.*;

satırını kodumuzun başına ekliyoruz.

Bağlantıyı oluşturmak için java.sql.Connection sınıfından (class) bir nesne (object) oluşturuyoruz. Bu işlem için aşağıdaki satırı kullanabiliriz:

 Connection con = DriverManager.getConnection(
"jdbc:derby://localhost:1527/xyz;user=sadi;password=evren;");

Yukarıdaki satırda con ismi verilen nesne (object) oluşturulmuş ve yerel bilgisayarda (localhost) bulunan “xyz” isimli veritabanına “sadi” kullanıcısı ve “evren” şifresi ile bağlanmaya çalışmıştır.  1527 bilgisayarımızda kurulu olan JavaDB’nin port numarasıdır.

Veritabanında sorgunun çalıştırılması

Veri tabanına yukarıdaki şekilde bağlandıktan sonra istenilen bir sorgu çalıştırılabilir. Bu işlem için de yine java.sql paketinde bulunan Statement sınıfını kullanacağız.

Statement sta = con.createStatement();
ResultSet res = sta.executeQuery(
SELECT * FROM USERTABLE“);

Yukarıda verilen kod parçasındaki sorgu bir sonuç kümesine (ResultSet) toplanmıştır. Yani yukarıdaki ilk satır ile bağlantımız üzerinde (con nesnesinin bağlantı olduğunu hatırlayalım) bir sorgu çalıştıracak imkan açılmıştır. İkinci satır ile de bu bağlantı üzerinde verilen sorgu çalıştırılarak res ismindeki nesnenin içersine sonuç bilgileri alınmıştır.

Sorgudan alınan sonuç kümesinin (Result Set) işlenmesi

Sorgudan dönen bilgi bir önceki adımda bir ResultSet nesnesinin içerisine atıldı. Bu sınıfın çok farklı fonksiyonları olmakla beraber aşağıdaki örnekte gösterilen kodu çalıştırabiliriz:

 while (res.next()) {
           System.out.println(
           "  "+res.getString("USERNAME")
           + ", "+res.getString("PASSWORD"
           );
}

Yukarıdaki kod örneğinde veri tabanından dönen kümeden “USERNAME” ve “PASSWORD” isimli kolonlar (Veritabanındanki USERTABLE tablosunun kolonları) alınarak ekrana basılmaktadır. Dikkat edilirse bu basma işlemi bir while döngüsü (loop) içerisinde gerçekleşmektedir ve her adımda res.next() fonksiyonu ile kümedeki bir sonraki satır (Tuple) alınmaktadır.

Bağlantının kapatılması

Son olarak JAVA ile veritabanı arasındaki bağlantının kapatılması gerekir. Bu işlem için

con.close();

satırı kullanılabilir.

Tam çalışır kod

Yukarıdaki verilen parçalı ve açıklamalı kodun tamamı aşağıda tek adımda verilmiştir. Yukarıdaki koda ilave olarak çeşitli satırlarda try / catch blokları ile SQLException yakalandığına dikkat ediniz. Bunun sebebi beklenmedik bir durumda JAVA‘nın SQLException catch edilmesini zorunlu tutmasıdır.

import java.sql.*;
/**
 *
 * @author shedai
 */
public class dbAbstract {
    Connection con;
    public void close() {
         try{
              con.close();
         }
         catch(Exception e){}
 }
 public dbAbstract(){
     try{
     con = DriverManager.getConnection(
        "jdbc:derby://localhost:1527/xyz;user=sadi;password=evren;");
     }
     catch(SQLException exp){
        exp.printStackTrace();
     }
 }
 public boolean Authenticate(String User,String Pass){
     try{
          Statement sta = con.createStatement();
          ResultSet res = sta.executeQuery(
          "SELECT * FROM USERTABLE where USERNAME='"+User+"';");
          while (res.next()) {
             if(Pass.equals(res.getString("PASSWORD")))
              return true;
      }
      res.close();
      sta.close();
      return false;
     }catch(SQLException exp){
         exp.printStackTrace();
         return false;
     }
 }
}

Veri Tabanı bağlantısından bilgileri JTAble'a çekerek görsel olarak gösteren kod
Betül Hanımın sorusu üzerine aşağıdaki kodu yazdım ve basitçe veri tabanından veri çekip JFrame içerisindeki bir JTable bileşenine (component) ekliyoruz.

import java.sql.*;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JTable;
/**
 *
 * @author shedai
 */
public class NewClass {
    Connection con;
    public void close() {
         try{
              con.close();
         }
         catch(Exception e){}
 }

 public NewClass(){
     try{
    con = DriverManager.getConnection( "jdbc:mysql://localhost/deneme", "root", "" );  
     }
     catch(SQLException exp){
        exp.printStackTrace();
     }
 }
 JTable jt;
 public void tablo(){
     try{
          Statement sta = con.createStatement();
          ResultSet res = sta.executeQuery(
          "SELECT * FROM persons");
          Vector satirlar = new Vector();
          Vector satir[] = new Vector[2];
          satir[0] = new Vector();
          satir[1] = new Vector();
          int s = 0;
          while (res.next()) {

              for(int i = 1;i<6;i++){
               satir[s].add(res.getString(i));
                System.out.println(res.getString(i));
              }
              s++;

          }
          satirlar.add(satir[0]);
          satirlar.add(satir[1]);
          Vector basliklar = new Vector();
          basliklar.add("id");
          basliklar.add("soyisim");
          basliklar.add("isim");
          basliklar.add("adres");
          basliklar.add("şehir");
          jt = new JTable(satirlar,basliklar);

      res.close();
      sta.close();

     }catch(SQLException exp){
         exp.printStackTrace();

     }
 }
 public static void main(String args[]){
     NewClass nc = new NewClass();
     nc.tablo();
     JFrame jf = new JFrame();
    jf.add(nc.jt);
    jf.setVisible(true);

 }
 }

Öncelikle, hazır yeni bir kod yazıyorken, MySQL bağlantısını da örneklendirmiş olmak için kodu, MySQL sunucusna bağlanan şekilde yazdım. MySQL sunucunda öncelikle deneme isminde bir tablo oluşturduk:

CREATE TABLE IF NOT EXISTS `persons` (
`P_Id` int(11) NOT NULL,
`LastName` varchar(255) NOT NULL,
`FirstName` varchar(255) DEFAULT NULL,
`Address` varchar(255) DEFAULT NULL,
`City` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Ayrıca tabloya iki adet basit veri ekledim:

INSERT INTO `persons` (`P_Id`, `LastName`, `FirstName`, `Address`, `City`) VALUES
(1, 'seker', 'sadi', 'fasfa af af a', 'ist'),
(2, 'demir', 'ali', 'fasdf af af afa', 'adana');

Yukarıda verdiğim kodda, inşa sınıfında bulunan (constructor) veri tabanı bağlantısı, MySQL bağlantısı olduğu için, ilgili kütüphanenin öncelikle classpath içerisinde tanımlı olması gerekir. Bu kütüphane JDBC üzerinden MySQL bağlantısı kurmaya yarayan sürücü (driver) bilgisini içerir.

Ardından bağlantı kurulduktan sonra yukarıdaki kodda bulunan tablo() fonksiyonumuz veri tabanından ilgili tablonun içeriğini çekerek hem ekrana hem de JTable içerisine basmaktadır. Bu işlem yazının başında verilen ilk örnek koda benzer şekilde bir while döngüsü üzerinden yapılmaktadır.

JTable sınıfının çok sayıdaki inşa fonksiyonlarından (constructor) birisi de, iki adet vektör (vector) almaktadır.

Bu vectorlerden ilki, verileri tutan ve “vector of vector”, yani vektörler vektörü olan veri yapısıyken, ikinci vektör sadece tablo başlıklarını tutmaktadır.

İşlemi kolaylaştırmak ve ileride çok sayıdak satır ile ilgilenmek ihtimalinden dolayı, bir dizi tanımlayıp (satir) her satırı bu dizininin bir elemanına çekiyoruz. Ardından çekilen bu satırları daha üstte tek bir vektörde (satirlar) topluyoruz ve bunu JTable’ın ilk elemanı yapıyoruz.

Son olarak, koddaki, ilk çalışan main fonksiyonuna bakalım. Main fonksiyonunda bir JFrame oluşturulmakta, bu JFrame içerisine de jt isimli, daha önceden tanımlanmış ve tablo() fonksiyonu ile içerisine veri tabanından veri çekilmiş olan JTable yerleştirilmektedir.

Kodun çalışmasının ardından ekran çıktısı aşağıdaki şekildedir:

Yorumlar

  1. ekrem aydogdu

    çalışmalarınıza kısaca bir göz attım.gerçekten çok güzel bilgiler vermişsiniz.Jsvs programlama diline ilgi duyan birisi olarak teşekkür ederim.

  2. sarper gencler

    Hocam kodları calıstırabilmek icin jdbc 3.0 ' ı indirdim.ama classpath ile uyumlastıracagım sanırım fakat yapamadım.Bu konu ile ilgili yardımcı olurmusunuz bu kodları çalıştırabilmem için.Ornegin su hata mesajını alıyorum

    package com.microsoft.sqlserver.jdbc does not exist

    Teşekkur ederim

  3. sarper gencler

    Pardon hocam yanlış bir yorum oldu.Yukarıdaki kodları calıstırabiliyorum.Ben sql server 2005 kullanıyorum.Management studio ile veritabanına baglanırken
    Server type:Database Engine
    Server Name:SARPER-EXPERSQLEXPRESS
    Authentication:Windows Authentication
    default degerleriyle direk baglanıyorum.Bir kullanıcı adı sifre girmiyorum.Dolayısıyla,
    con = DriverManager.getConnection(" "); Bu noktadaki bosluga ne yazmam gerekicek ?

    Teşekkur ederim

  4. Şadi Evren ŞEKER Article Author

    DriverManager.getConnection("jdbc:sqlserver://localhost\SQLEXPRESS;user=myuser;password=mypass; ");

    Yukarıdaki satırda, localhost yerine sunucu ismini, myuser ve mypass yerine, bağlantıdaki kullanıcı adı ve şifrenizi yazmanız gerekir.

    şayet farklı bir porttan bağlanıyorsanız o zaman port numarasını, localhost:5555 şeklinde sunucu adresinin yanına yazarsınız.

  5. Fatih

    Hocam ben yukarıda anlattığınız şekilde,java konsol uygulaması veya bir application uygulaması ile sql server veritabanına bağlanabiliyorum.Fakat java applet uygulaması ile bağlamamıyorum.Aldığım hata
    java.sql.SQLException: No suitable driver found for jdbc:sqlserver://127.0.0.1:1433;database=Diyet;integratedsecurity=true;
    .
    Bu url ile dediğim gibi java konsol ile bağlanabilirken neden java applet ile yapamıyorum.Applet projesinin içerisinde sqljdbc4.jar'ı eklediğim halde bu driver'i bulamıyor.Sizce ne yapmalıyım hocam,acaba applet'in html sayfasının içerisine bazı komutlar mı yazmam gerekiyor ?

  6. Şadi Evren ŞEKER Article Author

    java applet uygulamalarının ağ bağlantısı ve yerel bilgisayara erişmesi yasaktır. Güvenlik sebebiyle bu şekilde bir kısıtlama getirilmiştir.

    Basitçe bir applet bir web sayfasına gömülü olarak çalışır. Bunun anlamı siz web sitesini gezerken, applet sizin bilgisayarınıza indirilir ve sizin bilgisayarınızda çalışır.

    Güvenlik de tam burada devreye girer, düşünün ki sizin bilgisayarınızda tamamen tesadüfen girdiğiniz bir siteden bir applet indiriliyor ve sizin dosya yapınıza erişip bilgi alıyor, değişiklikler yapıyor veya sizin bilgisayarınızdan internetteki kaynaklara bilgi gönderiyor veya sizin bilgisayarınız adına internetten bilgi alıyor ( bu bir veri tabanından bilgi almak veya göndermek de olabilir).

    Bu durumu engellemek için java appletleri güvenli hale getirilmiş ve bazı erişimler engellenmiştir.

    Ancak güvenilir applet (trusted applet) kullanımı veya applet güvenliklerinde yapılan değişikliklerle (ki bu durum tavsiye edilmez) bahsi geçen erişimlere izin verebilirsiniz.

    Başarılar

  7. Fatih

    Anladım hocam temel mantık bu şekilde çalışır diyosunuz.Yazınınız son cümlesinde ki,tavsiye edilmeyen bazı değişikler yapılabilir derken,kullandığım Idenin içerisindeki applet ayarlarından mı bu değişiklikleri yaparsam sorun çözülür ? çünkü hocam başladığım bir projenin son aşamasında böyle bir sorunla karşılaştım ve yazdığım kodlarda applet uyumlu olduğu için herşeyi sil baştan yeni bir proje de yapmak benim için çok kötü olacaktır =(

  8. Fatih

    Hocam tamam application formatında açtığım zaman kodları dönüştürüyomuşum neyseki okadar kodu bir daha yazmaktan kurtuldum.Size de çok teşekkür ederim hocam aslında appletin tam olarak ne olduğunu sizden öğrendiğim için.

  9. Şadi Evren ŞEKER Article Author

    evet böyle bir durumda en mantıklı karar, yazdığınız applet'i bir applicationa çevirmek olacaktır. Basitçe, "extends Applet" yazan yeri "extends JFrame" olarak değiştirerek başlayabilirsiniz 🙂

    Tavsiye edilmeyen değişiklikler, bilgisayarınızda kurulu olan JRE (Java Runtime Environment) üzerindeki applet güvenlik ayarlarıdır. IDE ile bir ilgisi yoktur çünkü applet'i IDE değil JRE çalıştırır.

    başarılar

  10. betul demir

    merhaba hocam,

    yukarıda bahsettğiniz gibi java ile veritabanı bağlantımı gerçekleştirdim.şimdi de
    combobox tan seçtiğim değer ile veritabanına bağlanıp jtable a adı ve soyadı verilerini çekmek istiyorum..fakat bazı hatalar var.

    öncelikle jframe de şu tanımlamaları yaptım.

    Vector data = new Vector();

    String[] columnNames = {"Ad", "Soyad",};

    Vector column = new Vector(Arrays.asList(columnNames));

    DefaultTableModel model =new javax.swing.table.DefaultTableModel(data,column);

    sonra jcomboobx ın içinde şöyle devam ettim;

    Statement stap=m1.baglan().createStatement();

    if (jComboBox1.getSelectedIndex() == 0) { //ilk deger seçili ise

    String sql;
    sql = "SELECT * From bolum";
    ResultSet re=stap.executeQuery(sql);

    bundan sonra
    vektöre atıp tabloya yerleştirmeye çalıştım ama hocam başarılı olamadım ..

    while(re.next()){

    Vector h = new Vector(Arrays.asList(row));
    //data.add(h);

    data.addElement(h);
    }

    model.addRow(data);

    sanırım vektöre atamıyorum değerleri..bu durumda ne yapmam lazım..

    teşekkürler
    saygılar

  11. abdullah

    anlatım için teşekkürler hocam.ben bişey sormak istiyorum.ben java ile sql server a bağlanmak istiyorum.ama böyle bir hata alıyorum

    com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 127.0.0.1, port 1025 has failed. Error: "Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1033)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    at sqlbağlan.Main.main(Main.java:31)

    tcp/ıp yi configuration managerdan enabled da yaptım,jar dosyasını da ekledim neden böyle bir hata alıyorum.yardımcı olursanız sevinirim teşekkürler..

  12. Şadi Evren ŞEKER Article Author

    Sanırım hatanız, ilgili host üzerinde 1025 numaralı porta bağlanamamanızdan kaynaklanıyor. Bu durumu basitçe ilgili IP / port 'a telnet ile erişerek deneyebilirsiniz:

    telnet 127.0.0.1 1025

    Büyük ihtimalle bağlanamayacaksınız. Çözüm için de ilgili portun (1025) firewall üzerinde işaretli olmadığına dikkat edin. Ayrıca 127.0.0.1 yerine localhost yazmanız da yardımcı olabilir.

    Kısacası probleminiz ilgil sunucuya ilgili porttan bağlanamamanız.

    Başarılar

  13. Müslüm beyaz

    iyi günler, hocam ben internet üzerinden ip ile veritabanına nasıl ulaşırım.
    private String url = "192.168.1.1:jdbc:mysql://localhost:3306/"; bu doğrumu...

  14. Şadi Evren ŞEKER Article Author

    Evet doğru, ayrıca ilave parametreler olarak yukarıdaki yazıda anlatıldığı gibi username ve password de verebilirsiniz. Ancak sunucu tarafında sizin erişiminize izin verilmesi gerekir. Genelde uzaktan bağlantılar kısıtlanmıştır ve bu iznin verilmesi çok ciddi bir güvenlik açığı olarak yorumlanır. Ancak özel durumlarda bu izin verilebilir.

    Şayet kullandığınız veritabanı mysql ise (ki bağlantı dizginizden (connection string) böyle olduğu anlaşılıyor), aşağıdaki adımları yapmanız gerekir (aslında bunun için ayrı bir yazı yazıp yayınlasam iyi olur şimdilik hızlıca açıklıyorum ancak problem yaşarsanız, internette farklı kaynaklardan faydalanabilirsiniz)

    Öncelikle my.cnf dosyasını açmamız gerekiyor (vi editörünün hayranları olarak aşağıdaki şekilde açabilirsiniz)

    vi /etc/my.cnf

    Genelde my.cnf dosyası (yani mysql configuration) etc altında kuruludur, ancak sizde farklı bir yerdeyse bunu bulup ilgili dosyayı açın.

    Dosya içerisinde mysqld isimli bir etiket vardır [mysqld] olarak geçer ve mysql deamon'ını yani sunucusunun ayarlarını içerir. Buraya bind satırı ekleyin yani hangi IP adresinden erişilecekse bu adresi aşağıdaki şekilde ekleyin:

    [mysqld]
    user = mysql
    pid-file = /var/run/mysqld/mysqld.pid
    socket = /var/run/mysqld/mysqld.sock
    port = 3306
    basedir = /usr
    datadir = /var/lib/mysql
    tmpdir = /tmp
    language = /usr/share/mysql/English
    bind-address = 188.138.0.88

    Yukarıdaki örnekte bilgisayarkavramlari.com sitesinin IP adresi olan 188.138.0.88 eklenmiştir. Siz hangi IP adresine izin vermek istiyorsanız bunu ekleyin.

    Ardından mysqld yeniden başlatılmalı, yine kurulum dizinine göre değişmekle birlkite aşağıdaki şekilde olabilir:

    /etc/init.d/mysql restart

    Son olarak mysql sunucusuna bağlanıp SQL haklarını vermemiz gerekir:

    mysql -u root -p mysql

    Şeklinde mysql client ile bağlanıyoruz (yukarıda kullanıcı adı root şifre mysql olarak girilmiştir siz kendinize göre bunları düzenleyin)

    GRANT ALL ON foo.* TO bar@'188.138.0.88' IDENTIFIED BY 'PASSWORD';

    Yukarıdaki SQL komutu ile foo veritabanının altındaki herşeye (* burada jokerdir ve herşey anlamındadır) bar kullanıcısının 188.138.0.88 numaralı IP adresinden PASSWORD isimli şifre ile bağlanmasına izin verilmiştir.

    Ayrıca şayet firewall, proxy gibi ayarlarınız varsa bunları da hem sunucu hem istemci tarafında doğru bir şekilde ayarlamanız gerekir unutmayın mysql'in default protu 3306'dır (zaten bu protu değiştirmek isterseniz yapacaklarınız da aşağı yukarı, biraz önce anlattığım adımlardan ibaret)

    Başarılar

  15. Müslüm beyaz

    Yanıtladığınız için teşekkürler Hocam

    Fakat ben windows tabanlı çalışıyorum. ayrıca Mysql Server kurulumu nasıl olmalı? Yalnızca yerel ağda birden cok kullanıcı bağlanabilecek.

  16. Şadi Evren ŞEKER Article Author

    Windowsta değişen birşey yok, aynı dosya farklı yerde, aynı komutlar geçerli. En kısa sürede vakit bulur bulmaz bu konuyu anlatan yeni bir yazı ekleyeceğim ama çok acil yapmanız gerekiyorsa yukarıdakileri adım adım windows üzerinde de yapabilirsiniz sadece dosyanın konumu farklı.

    Başarılar

  17. Müslüm beyaz

    benim bilgisayarda my.cnf dosyası yok win7 de...
    nasıl bulacam o dasyayı tez yapıorum da acil yardım ederseniz sevinirim...

  18. Şadi Evren ŞEKER Article Author

    Windowsta my.ini dosyası olarak geçiyor olabilir genelde windowsun kurulum dosyasına atıyor. Özel olarak belirtmediyseniz c:windows veya command promptta
    cd %windir%
    komutunu verirseniz kurulum dizinine girer veya doğrudan erişim için

    wordpad %windir%my.ini

    şeklinde bir komut verebilirsiniz (başlat düğmesinden çalıştırı seçip yukarıdaki komutu yazarsanız bulmazı gerekir)

    Alternatif olarak doğrudan C: altına atabilir c:my.cnf veya c:my.ini olabilir

    Son alternatif olarak da kurulum dizinine bakmakta yarar var. Örneğin c:mysql dizini altına mysql sunucunuzu kurdunuz diyelim bunun altında olabilir.

    Son bir uyarı da windowsta kullanılan hazır paketler var bunlara kısaca AMP paketleri denilir (apache, mysql, php veya perl, python vs. baş harflerinden oluşur) Bunlardan birisini kurduysanız (ki kurulum daha basit olduğu için tavsiye ederim) bunların kendi yönetim konsolları oluyor, bu konsollarda doğrudan mysql configuration file erişimi oluyor (benzer şekilde php ve apache konfigürasyon dosyalarına da bu konsollardan erişiyorsunuz) kurduğunuz paket ile ilgili dokümantasyonu okumanızda yarar olabilir (veya kontrol panelini biraz kurcalamak işe yarayabilir)

    Başarılar

  19. Seda

    Hocam merhaba. yazdığınız kodu bende projemde uygulamaya çalışıyorum. ama başlıklar görünmüyor ne yapabilirim?

  20. Seda

    Tamam hocam bu sorunu hallettim. Teşekkür ederim. kişi isimlerinin olduğu bu tabloda ismin üzerinde tıkladığımda yeni bi sayfada bilgileri görünsün istiyorum bunu nasıl yapabilirim.

  21. Mesut

    Merhabalar Hocam
    Java Applet ile Herhangi bir cihaza comport üzerinden veri gönderip cevap almak istiyorum.
    Programı 5 günlük bir uğraş sonucu gerçekleştirdim ancak uygulamam appletviewer da çalışmasına rağmen herhangi bir browser ile açtığımda çalışmıyor.(uygulamanın arayüzü çalışıyor ancak buttonlar işlevlerini gerçekleştirmiyor.)Bu Program Güvenlik Engellerinemi takılıyor ?
    Bunları aşmamızın herhangi bir yolu yok mu ?Evimdeki bir cihazı internet üzerinden kontrol etmek için böyle bir programla uğraşıyorum.Eğer applet ı web te çalıştırırsam projem gerçekleşicek.

  22. ali

    Hocam makale için çok teşekkür ederim.

    Hocam benim sorum remote connection yaparken herhangi bir db ye özel bir konfigürayon gerekirmi client tarafında ?
    yoksa admin tarafından verilen hostname,password,username,port,servicename gibi bilgiler yeterli olurmu. uzak makinedaki db ye bağlanmak için

    cevabınız için şimdiden teşekkür ederim hocam

  23. Tuğba

    Merhaba hocam,
    java.sql.SQLException: No suitable driver found for adbc:derby://localhost:1527/database;create=true
    hatası alıyorum bunu nasıl çözebilirim.
    Cevabınız için şimdiden teşekkürler.

    1. Şadi Evren ŞEKERŞadi Evren ŞEKER

      sanıyorum bağlantı cümleniz adbc yerine jdbc olacak. Ayrıca derby bağlantısı kullandığınız için derbyclient.jar dosyasının da kütüphanelere ekli olduğundan emin olmanızda yarar var.

  24. Guvercin

    Merhabalar öncelikle ellerinize sağlık. Ben bir chat programı yazdım javada. fakat programı her çalıştırdığımda veriler kayboluyor. Bu verileri veritabanında tutabilir miyim ya da nasıl yapabilirim yardımcı olabilir misiniz?

  25. jsfproje

    Merhabalar hocam,başka bir arkadaşımın bilgisayarından aldığım jsf ile oluşturulmuş localde çalışan bir web sitesi projesini kendi bilgisayarımda çalıştırdığımda "Could not find file C:\Users\Desktop\sqljdbc_4.2 to copy" gibi bir hata alıyorum.Netbeans 8.0.2 sürümünü kullanıyorum,"resolve references problem" toolu olan arkadaşlar sorunu hallettiler kendi bilgisayarlarında ben bu toolu bulamadığım için sorunumu çözüp projeyi çalıştıramıyorum.Yardımcı olursanız çok Sevinirim.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


× 7 = yedi