Skip to main content

AccessTr.neT


Access Sql Server Bağlantısı Ve Ağda Kullanımı.

Mecnun24
Mecnun24
1
4618

Access Sql Server Bağlantısı Ve Ağda Kullanımı.

Exclamation #1
Merhabalar, dilim döndüğünce Access ile Sql sevrer bağlantısını ve accesi ağda kullanmayı anlatmaya çalışacağım.
Öncelikle neden Sql server ? accesste zaten tablo oluştabiliyoruz değilmi ? Bencede eğer tek bilgisayarda kullanılacaksa accessin kendi tablo yapısını kullanmak yeterli. Ama ağda birden fazla kullanıcı tarafından kullanılacaksa hem performans açısından hemde güvenlik açısından Sql server'i tercih etmek daha mantıklı. Bende 4-5 kullanıcı tarafından kullanılacak bir program yapmak ve ağda paylaştırmak istedim, fakat itiraf etmeliyim çok zorlandım. İstedimki yapılışını detaylı olarak paylaşayım. Umarım birilerinin işine yarar. Öncelikle sisteminizde Sql server kurulu olması lazım, kurulu değilse şu linki takip edip kurulumunu yapınız. Ancak sql'i indirirken managament studio dahil olanı indirmelisiniz.
http://www.cozumpark.com/blogs/sql/archi...ulumu.aspx

[Resim: vEAXBO.png]
İlk iş olarak Sql server managament studioyu açıyoruz, (Sunucu adı bilgisayarınızın adıdır, yada kurulumda seçtiğiniz kullanıcı adıdır.) kurulumda windows authentication mod olarak kurduğumuz için şimdi de o modda girişi yapıyoruz.

[Resim: rQX6GB.png]
databeses sekmesine sağ tıklayıp new database tıklıyoruz. Gelen ekranda general sekmesinde database name dolduruyoruz, options sekmesinden collation bölümününden turkish_CI_AS seçiyoruz diğer bölümlere dokunmadan Okey'i tıklıyoruz.

[Resim: 7kW7jm.png]
Yeni database oluşturuluyor. Oluşturulduktan sonra yeni veritabanımızı görebilirsiniz, tables sekmesinde sağ tıklayıp new table tıklıyoruz.
[Resim: Pq2njv.png]
Karşımıza accesste tablo hazırladığımız ekrana benzer bir ekran geliyor. Column name kolon adı, data type veri tipi, allow nulls boş bırakabilme özellikleridir. Burda dikkat etmemiz gereken veri tipini seçerken accessteki karşılığını düşünerek seçmek olacaktır. Örneğin veri tipini int yapıp altta Column properties / identity specification / is identy özelliğini yes yaptığımız ve sağ tıklayıp set primary key eklediğimiz zaman accessteki otomatik sayı olarak  algılanacaktır kolon. varchar veri tipi accessteki metinin tipinin karşılığıdır. datetime tipi accesste tarih/saat tipini karşılar. int tipi accessteki sayı tipini karşılar. decimal tipi accesteki para birimi tipini karşılar. bit tipi accessteki evet/hayır tipini karşılar vb. deneyerek doğru sonuca ulaşabilirsiniz. yahut şu linki inceleyiniz.
http://www.emrahyumuk.com/sql-server-2008-veri-tipleri/

[Resim: g5v2QL.png]
kolonları oluşturduktan sonra tablomuza bir isim verip kaydediyoruz. Tablomuzu oluşturduk şimdi bu tabloyu Access ile bağlama zamanı. Lakin ilk önce bazı ayaralar yapmamız lazım. Başlattan microsoft Sql server klasörü içindeki configuration manageri açıyoruz.
[Resim: qYQjz3.png]

Açılan bölümde tcp\ip özellikleri bölümünden enabled bölümünü yes yapıyoruz ve servisi restart yapıyoruz.

[Resim: ME8oj6.png]

Bende bu ayar yeterli oldu Sql serveri görünür yapmak için, ancak sorun yaşayanlar şu linki incelemelidir.
http://www.ubenzer.com/sql-serveri-uzakt...ayarlamak/

Sıra tablo bağlama işleminde kullanacağımız odbc'yi ayarlamaya geldi. başlat / ayarlar / denetim masası / sistem ve güvenlik / yönetimsel araçlar / ODBC veri kaynaklarını çalıştırıyoruz.

[Resim: QA8vjA.png]

Gelen ekrandan Dosya dsn sekmesine geliyoruz. Burası çok önemli, bir çok kaynakta kullanıcı dsn ekleme anlatılıyor
fakat biz bunu seçmeyeceğiz, şöyeki; eğer dosya seçeneği ile tabloları bağlarsak diğer bilgisayarlara çalışmamızı dağıttığımızda hiç bir ek ayar yapmamıza gerek kalmayacak direk bağlanacak tablolar. Yok kullanıcı dsn ile bağlasaydık, diğer bilgisayara attığımız tüm çalışmalarda attığımız o bilgisayara özel ayarlar yapmamız gerekecekti. Yirmi adet kullanıcı olduğunu düşünsenize tüm bilgisayarları dolaşacaksınız tek tek. Ve ileride ana dosyanızda bir güncelleme yaptınız ve güncellenmiş dosyayı yeniden dağıttınız evet gene tüm bilgisayarları tek tek dolaşacaksınız, yada bağlantı ayarlarını bozmayım diyorsanız son yaptığınız değişiklik işlemini gene tüm bilgisayarlara tek tek uygulayacaksanız. Ama dosya dsn ile bu sorunları yaşamayacaksını kendi bilgisayarınızdaki ana çalışmayı kullanıcıya vermeniz yeterli olacak. Dosya dsn sekmesinde Ekleye tıklayacağız , gelen ekranda Sql serveri seçip ileri diyeceğiz. Gözattan masaüstünü göstereceğiz, bir dosya adı yazıp kaydete basacağız. Sql server için yeni veri kaynağı oluştur ekranı gelecek. Tam burada yeni bir ayar yapmamız gerekli. Bu ekranı bırakıp Sql managament studio'yu açıyoruz.

[Resim: b5ZkPY.png]
Kurulumda standart olarak windows authentication modda kurulduğunu varsayıyorum, aynı modda studioya giriyoruz. Sonra şu linkteki gibi sa yönetici hesabını aktif ediyoruz ve kapatıyoruz.
https://rizasahan.wordpress.com/2013/05/...-acilmasi/

Biraz önce bir kenarda bıraktığımız Sql server için yeni veri kaynağı oluştur ekranına dönüyoruz.

[Resim: d5l89Z.png]
Gerekli yerleri dolduruyoruz. Sunucu adı listede çıkması gerekiyor ama çıkmazsa eğer bilgisayarınızın adını yazın. ileri ile geçiyoruz.
[Resim: 5dELjM.png]

Gelen ekranda Sql server kimlik doğrulaması ile seçeneğini seçiyoruz.oturum kimliğine sa , parolaya ise sa kullanıcısı için belirlediğimiz şifreyi yazıp, ileri diyoruz. Bağlantı sağlanacaktır.


[Resim: Am8nj7.png]


Gelen ekranda varsayılan veritabanını seçiyoruz, bizim veritabanımız deneme isimli olan. İleri diyoruz, gelen ekranda sistem ileti dilini turkish olarak değiştiriyoruz. Başka bir ayar yapmadan son tuşuna basıyoruz, veri kaynağını sına tuşuna basıyoruz, sonuç tamam ise, tamam diyip ekranı kapatıroyuz. Evet artık tüm server bağlantılarımızda
kullanabileceğimiz bir dsn dosyası elde ettik. Şimdi tablolarımızı bağlayalım. Yeni bir Access dosyası oluşturalım.


[Resim: 0qWl3D.png]


Tablolarda sağ tıklayıp tabloları bağlayı tıklıyoruz.


[Resim: 4gW1N0.png]


Dosya türünü ODBC veritabanları seçiyoruz,


[Resim: JY8qjq.png]

gelen ekrandan az önce oluşturduğumuz dsn dosyasını gösterip tamam diyoruz.


[Resim: Oq8Vj0.png]

Oturum açma ekranı gelecek, orda güvenli bağlantı kullan'ın işareti seçiliyse kaldırıyoruz ve oturum kimliğini sa seçip oluşturduğumuz giriş şifresini giriyoruz bir kereye mahsus. Herşey yolundaysa Sql serverdeki tabloların bulunduğu bir liste gelecek.

[Resim: zAOaNB.png]


Az önce oluşturduğumuz tblpersonel tablosununda listede yerini aldığını göreceksiniz. Tabloyu seçip tamam diyoruz. Evet mutlu son tablomuzu bağlamış olduk. Tablo adı dbo-tblpersonel olarak adlandırılacaktır. Ama siz başındaki dbo'yu kaldırabilirsiniz.


[Resim: yMJNk0.png]


Şimdi tabloyu sağ tıklayalım, tasarım görünümnde aç diyelim gelen uyarıyı evet diyip geçelim.


[Resim: Wn8gjq.png]

Aynı Access tablosu gibi işlem gördüğünü, alt taraftan ilgili kolonun özelliklerini ayarlayabildiğimizi göreceksiniz. Yalnız bu özellik değiştirilemez denilen yerler hariç, o özelliklere müdahale edemeyiz. Ama giriş maskesi , biçim ve resim yazısı gibi önemli yerler müdahale edebiliriz, örneğin form dizaynlarına yansıması için resim yazılarını değiştirmek önemlidir bence. Müdahale ettiğimiz bu alanlar tablo tazelemelerinde aynen kalır, Ancak tabloyu siler yeniden  bağlarsak silinir. Bu yüzden mecbur kalmadıkça bağlı tabloyu silmeyin. Onun yerine tabloyu sağ tıklayın, bağlı tablo yöneticisini tıklayın gelen ekrandan ilgili  tabloyu seçin ve sağdan tamamı tıklatın. Böylece Sql serverdeki tabloda yaptığınız tüm değişiklikler aynen bağlı tablonuza yansıtılacaktır. Hemde  tabloya yaptığınız küçük müdahalelerede (resim yazısı, giriş maske ayarları gibi) zarar vermeden. Evet artık Sql servere bağlı olan bir tablomuz mevcut. Accessi açtığınızda hiç bir bağlantı ayarı yapmanıza gerek kalmadan direk bağlanacaktır.  Artık aynı bir Access tablosuymuş gibi kullanabilirsiniz tabloyu. Şimdi geldi çalışmayı diğer ağ kullanıcıları ile paylaşmaya. Ondan önce çalışmamızda bazı küçük değişiklikler yapalım. Araçlar  / seçenekler / gelişmiş  sekmesinden varsayılan açma modunu paylaşılan, varsayılan kilitlemeyi düzenlenmiş kayıt, yineleme sıklığınıda 30 yapalım ve kaydedelim. Elimizdeki  çalışmayı ağdaki kullanıcılara vermemiz yeterlidir. Kendi bilgisayarlarındaki bir sabit diske kaydetmeleri ve çalıştırmaları yeterlidir. Hiç bir ayara gerek kalmadın çalışacaktır. ODBC bölümünde değindiğimiz gibi dosya dsn kullandığımız için tüm ayarlar çalışmanın bağlantı cümleciğinde kayıtlı zaten. Kullanıcı anında çalışmaya, kayıt yapmaya başlayabilir. Yalnız başıma geldiği için biliyorum, serverin kurulu olduğu bilgisayarda bir eset smart security kurulu ise, bir kereye mahsus ayrı bir ayar yapmanız gerek malesef. Onunda kolay bir yolu var. Serverin kurulu olduğu bilgisayarda eset smart security ayarlarına girin  ayarlar/gelişmiş ayarlar/ağ/kişisel güvenlik duvarında sağ taraftaki modu etkileşimli mod olarak değiştirin.


[Resim: 3DWvkO.png]


Ağdaki diğer bilgisayara geçin ve accesi çalıştırmayı deneyin, ana bilgisayarda eset hemen bir uyarı verecektir. Bu uyarıya kural oluştur diyip tamam derseniz eset sizin için bu ince ayarı yapacak ve bağlantıya bir port ayarlayacak ve sorun ortadan kalkacaktır. Sonra modu tekrar eski haline getirin yoksa eset sizi canınızdan bezdirir. Evet artık tüm işlemlerimiz tamam. Çalışmayı istediniz kadar sayıda terminale dağıtabilirsiniz. Güncelleme yaptığınızda da çalışmanın son halini dağıtmanız yeterlidir. Tüm terminalleri tek tek gezmeniz gerekmeyecektir. Artık tablolarımız Sql serverin sıkı güvenliğinin güvencesi altında. İleride delphi veya c# daha profesyonel bir dil ilgilenmeye karar verirseniz eğer, tüm Access çalışmalarınızı çok kolay bir şekilde yeni veritabanı teknolojileri ile, (tavsiyem entity frameworktür) yeni çalışmanıza yükseltebileceksiniz, çünkü veritabanınız Sql serverde barınıyor. Güvenlik kaygınız da olmayacak eskisi gibi, Sql serverin otomatik yedek alma özelliğini incelemenizi tavsiye ederim. Yedeğinizi otomatik olarak alabileceksiniz.  Benim anlatacaklarım bu kadar, Dilim döndüğünce anlatmaya çalıştım. sürç-i lisan ettiysem affola. Sağlıcakla kalın.

Anlatımla ilgili resimler : http://www.dosya.tc/server/ra3lve/Anlati...r.rar.html
İlgili çalışma benim Sql servere bağlı olduğu için işe yaramayacaktır fakat genede ekte yüklüyorum.
Son Düzenleme: 07/06/2015, 13:56, Düzenleyen: Mecnun24.
Cevapla
#2
Paylaşım ve anlatım için teşekkürler.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task