Skip to main content

AccessTr.neT


Accesste SQL Server Bağlantısı Hk.

Accesste SQL Server Bağlantısı Hk.

#1
Merhabalar,

SQL serverda yer alan tabloları linkleyerek Access te kullanmak istiyorum. Bu konuda kendi bilgisayarımda bir sorun yok bunu yapabiliyorum fakat şöyle bir sorunum var. Bu Sql tablolar linkli accessi bir çok kullanıcı ile paylaşmak istiyorum. Yani başka birisi bu accessi kendi masaüstüne kaydettiğinde Sql tablolar linkli hali ile kullanabilsin. Bizde Sql e "Windows Authentication" seçeneği ile giriliyor. Yani windows kullanıcı adı ile herhangi bir şifre yazmadan giriyoruz. Zaten accessi kullanacak kişilerde aynı şirket ağında olan kişiler. Bu konuda bilgisi olan varsa yardımcı olabilir mi? Teşekkürler, iyi çalışmalar.
Cevapla
#2
Veritabanınızı ikiye bölmüşsünüzdür zaten değil mi? Server aynı adreste olduğuna göre yapmanız gereken diğer kullanıcılara Form,Rapor vb. FE elemanların olduğu dosyayı vermek.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#3
MsSql Server ADO Bağlantı Örneği
[url=https://accesstr.net/konu-mssql-server-ado-baglanti-ornegi.html][/url]
adresinde bir örnek yer almakta isterseniz bir inceleyin.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#4
Merhaba daha önce paylaştığım bir konuyu aynen kopyalıyorum. Konu benimde başımı baya ağrıtmıştı.


Merhabalar, dilim döndüğünce Access ile Sql sevrer bağlantısını ve accesi ağda kullanmayı anlatmaya çalışayıı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.

cozumpark.com/blogs/sql/archi...ulumu.aspx

İ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.

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.

Yeni database oluşturuluyor. Oluşturulduktan sonra yeni veritabanımızı görebilirsiniz, tables sekmesinde sağ tıklayıp new table tıklıyoruz.

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.

emrahyumuk.com/sql-server-2008-veri-tipleri/


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.

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.

Bende bu ayar yeterli oldu Sql serveri görünür yapmak için, ancak sorun yaşayanlar şu linki incelemelidir.

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.

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.

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.

rizasahan.wordpress.com/2013/05/17/sql-server-2012-sql-authentication-ile-oturum-acilmasi/


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


Gerekli yerleri dolduruyoruz. Sunucu adı listede çıkması gerekiyor ama çıkmazsa eğer bilgisayarınızın adını yazın. ileri ile geçiyoruz.

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.


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.


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


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


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


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.

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.

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

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.

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.
Cevapla
#5
@Mecnun24 anlatım için teşekkür ederiz. Yalnız bir uyarıda bulunmak isterim ki sihirbazlar yardımı ile bağlanılan ODBC Sql Server yönteminde sunucunun kullanıcı adı ve şifresi görülebilmektedir ki bu ciddi bir güvenlik sorunudur. Bundan dolayı Sql Server'a bağlantıda sihirbaz değil de Vba içinden yapmak isabetli olacaktır.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#6
Siz daha iyi bilirsiniz tabi alpeki hocam, ben sadece örnek olması amacıyla sundum.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task