Access'i SQL Server'a bağlama

Access'i SQL Server'a bağlama

Harf şeklindeki makarnaları yediğiniz eğlenceli çocukluk günlerinizi hatırlayın. Veritabanının harf şeklindeki makarnalarını tadarken bu mutlu anıyı aklınızda tutun. Aşağıdaki bölümler, bağlantı dizeleriyle veritabanına erişim ve Access VBA kodunuzda veritabanı programlama arabirimi kullanmanın temellerini ortaya koyar.

Veri erişiminin bileşenleri

Bu Makalede

ODBC sürücüsü veya OLE DB sağlayıcısı kullanma

Access’ten SQL Server’a program arabirimiyle bağlanma

ODBC sürücüsü sürümlerinin özeti

OLE DB sağlayıcısı sürümlerinin özeti

ODBC anahtar sözcüğü özeti

OLE DB anahtar sözcüğü özeti

ODBC sürücüsü veya OLE DB sağlayıcısı kullanma

Bağlantı dizeleri uzun zamandır kullanılıyor. Biçimlendirilen bağlantı dizesini Access kullanıcı arabiriminde veya VBA kodunda tanımlayabilirsiniz. Bağlantı dizesiyle (ODBC veya OLE DB) sunucu konumu, veritabanı adı, güvenlik türü ve diğer kullanışlı seçenekler gibi bilgiler doğrudan veritabanına aktarılır. Örneğin:

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

En başta, ODBC ve OLEDB teknolojilerini içeren tek başına bir kitaplık olan SQL Server Native Client (SNAC) vardı ve SQL Server 2005’ten 2012’a kadarki sürümlerde hala kullanılabiliyor. Birçok eski uygulama SNAC kullanıyordu ve geriye dönük uyumluluğu hala desteklenmeye devam etse de yeni uygulama geliştirirken kullanılmasını önermiyoruz. ODBC sürücülerinin daha sonraki tek tek, indirilebilir sürümlerini kullanmalısınız.

ODBC sürücüleri

Açık Veritabanı Bağlantısı (ODBC), Access veritabanını Microsoft SQL Server gibi bir dış veri kaynağına bağlamak için kullanabileceğiniz bir protokoldür. Genel olarak, dosya veri kaynaklarını (DSN dosyaları olarak da bilinir) bağlantı dizesi eklemek için kullanırsınız. Bu durumda FILEDSN anahtar sözcüğü bağlantı dizesinde kullanılır veya kayıt defterinde depolanır (bu durumda DSN anahtar sözcüğü kullanılır). Alternatif olarak “DSN’siz” bağlantı dizesi kullanarak özellikleri ayarlamak için VBA’yı kullanabilirsiniz.

Yıllar içinde ODBC sürücüleri üç aşamada gönderildi:

  • 2005’ten önce, ODBC sürücüleri Windows Veri Erişimi Bileşenleri (WDAC) ile teslim ediliyordu. Bunlar da başlangıçta Microsoft Veri Erişimi Bileşenleri (MDAC) olarak adlandırılıyordu. Bu bileşenler geriye dönük uyumluluğu sağlamak için Windows ile dağıtılmaya devam ediyor. Daha fazla bilgi için bkz. Microsoft veya Windows Veri Erişimi Bileşenleri.

  • ODBC sürücüleri SQL Server 2005’ten SQL Server 2012’ye kadar SNAC ile gönderiliyordu.

  • SQL Server 2012’den sonra ODBC Sürücüleri ayrı ayrı dağıtıldı ve yeni SQL Server özellikleri için destek içermeye başladı.

Yeni geliştirme işlemi için ilk iki aşamadan kalma ODBC sürücülerini kullanmaktan kaçının ve üçüncü aşamanın ODBC sürücülerini kullanın.

OLE DB sağlayıcıları

Nesne Bağlama ve Katıştırma Veritabanı (OLE DB), bir Access veritabanını Microsoft SQL Server gibi bir dış veri kaynağına bağlamak için kullanabileceğiniz daha yeni bir protokoldür. OLE DB, DSN gerektirmez ve ODBC veri kaynaklarıyla ODBC sürücülerine tam erişim sağlar.

İpucu    Genellikle OLE DB bağlantı dizesi eklemek için Veri Bağlantısı Özellikleri iletişim kutusunu kullanırsınız. Access’ten Veri Bağlantısı Özellikleri iletişim kutusunu açmanın hiçbir yolu olmasa da Windows Gezgini’nde boş bir .txt dosyası oluşturabilir ve dosya türünü .udl olarak değiştirip dosyaya çift tıklayabilirsiniz. Bağlantı dizesi oluşturduktan sonra dosya türünü yeniden .txt olarak değiştirin.

Yıllar içinde OLE DB sağlayıcıları üç aşamada gönderildi:

  • 2005’ten önce, OLE DB sağlayıcıları Windows Veri Erişimi Bileşenleri (WDAC) ile teslim ediliyordu. Bunlar da başlangıçta Microsoft Veri Erişimi Bileşenleri (MDAC) olarak adlandırılıyordu.

  • OLE DB sağlayıcıları SQL Server 2005’ten SQL Server 2017’ye kadar SNAC ile gönderiliyordu. 2011’de bunlar kullanımdan kaldırıldı.

  • 2017’de SQL Server OLE DB sağlayıcısı yeniden kullanıma sunuldu.

Yeni çözüm geliştirmek için şu anda önerilen sürüm SQL Server için OLE DB Driver 18’dir.

ODBC bağlantı dizesiyle performansı iyileştirme

Performansı iyileştirmek, ağ trafiğini en aza indirmek ve SQL Server Veritabanına çok kullanıcılı erişimi azaltmak için bağlantı dizelerini birden çok kayıt kümesi arasında paylaşarak olabildiğince az bağlantı dizesi kullanın. Access, bağlantı dizesini doğrudan sunucuya geçirse de şu anahtar sözcükleri anlar ve kullanır: DSN, DATABASE, UID, PWD ve DRIVER. Bu da istemci/sunucu iletişimini en aza indirmeye yardımcı olur.

Not    Dış veri kaynağına giden bir ODBC bağlantısı kesilirse Access otomatik olarak yeniden bağlanmaya çalışır. Yeniden deneme başarılı olursa çalışmanıza devam edebilirsiniz. Yeniden deneme başarısız olursa, bağlantıya dayalı olmayan nesnelerle çalışabilirsiniz. Yeniden bağlanmak için Access’i kapatıp yeniden açın.

ODBC ve OLE DB kullanma önerileri

Bağlantı dizesi ile veritabanı erişim teknolojilerini karıştırmaktan kaçının. DAO için bir ODBC bağlantı dizesi kullanın. ADO için bir OLE DB bağlantı dizesi kullanın. Uygulamanız hem DAO hem de ADO kullanan VBA kodu içeriyorsa, DAO için ODBC sürücüsünü, ADO için de OLE DB sağlayıcısını kullanın. Sırasıyla hem ODBC hem de OLEDB için en son özellikleri ve desteği elde etmeye çalışın.

ODBC sürücü terimini ve OLE DB de sağlayıcı terimini kullanır. Bu terimler aynı tür yazılım bileşenini açıklar ama bağlantı dizesi söz diziminde birbirinin yerine kullanılamaz. Belgelerde belirtilen doğru değeri kullanın.

Sayfanın Başı

Access’ten SQL Server’a program arabirimiyle bağlanma

Access’ten SQL Server veritabanına program arabirimiyle bağlanmanın başlıca iki yolu vardır.

DAO

Veri erişim nesnesi (DAO), veritabanına soyut bir arabirim sağlar. Microsoft Veri Erişim Nesneleri (DAO); Access ve SQL Server’ın kalbine ulaşarak nesneleri, tabloları, alanları, dizinleri, ilişkileri, sorguları, özellikleri ve dış veritabanlarını oluşturmanızı, silmenizi ve değiştirmenizi sağlayan bir yerel programlama nesnesi modelidir.

Daha fazla bilgi için bkz. Microsoft Veri Erişim Nesneleri başvurusu.

ADO

ActiveX Veri Nesneleri (ADO) Access’te bir üçüncü taraf kitaplığına başvuruyla kullanılabilen üst düzey bir programlama modelidir. ADO rahatça öğrenilebilir ve istemci uygulamalarının Access ile SQL Server da dahil olmak üzere çeşitli kaynaklardan gelen verilere erişmesine ve bu verileri işlemesine olanak tanır. Birincil avantajları kullanım kolaylığı, yüksek hız, düşük bellek yükü ve diskte az parmak izidir. ADO, Web tabanlı uygulamalar derlemeye yönelik temel özellikleri de destekler.

Daha fazla bilgi için bkz. Microsoft ActiveX Veri Nesneleri başvurusu ve Microsoft ActiveX Veri Nesneleri (ADO).

Hangisini kullanmalısınız?

VBA kodu kullanan bir Access çözümünde veritabanı arabirimi teknolojiniz olarak DAO'yu, ADO'yu veya ikisini birden kullanabilirsiniz. DAO Access’te varsayılan olmaya devam eder. Örneğin tüm formlar, raporlar ve Access sorguları DAO kullanır. Ama SQL Server’a geçtiğinizde çözümünüzü daha verimli bir hale getirmek için ADO kullanmayı göz önünde bulundurun. Burada DAO veya ADO kullanmaya karar vermenize yardımcı olacak genel yönergeleri bulabilirsiniz.

Aşağıdakileri yapmak istediğinizde DAO kullanın:

  • VBA kullanmadan bağlı okuma/yazma formu oluşturma.

  • Yerel tabloları sorgulama.

  • Verileri geçici tablolara indirme.

  • Salt okunur modda raporlar veya formlar için veri kaynağı olarak doğrudan sorguları kullanma.

  • VBA’da bir TableDef veya QueryDef nesnesi tanımlama ve kullanma.

Aşağıdakileri yapmak istediğinizde ADO kullanın:

  • Zaman uyumsuz işlemler yapmak gibi iyileştirmeye yönelik ek yöntemlerden yararlanma.

  • DDL ve DML doğrudan sorgularını çalıştırma.

  • SQL Server verilerine doğrudan VBA’daki kayıt kümeleri aracılığıyla erişme.

  • Blob’ların akışı gibi bazı görevler için daha basit kodlar yazma.

  • VBA'da komut nesnesi kullanarak parametrelerle doğrudan bir saklı yordam çağırma.

Sayfanın Başı

ODBC sürücüsü sürümlerinin özeti

Aşağıdaki tabloda ODBC sürücüsü sürümleri, indirme konumları ve özellik desteği hakkında önemli bilgiler özetlenmiştir. Office'i değil Windows'u temel alarak sürücünün doğru bit sürümünü (64 bit veya 32 bit) kullandığınızdan emin olun. 64 bit Windows üzerinde 32 bit Access çalıştırıyorsanız, 64 bit sürücüleri yükleyin. Bunlar Access için gereken 32 bit bileşenleri de içerir.

Daha fazla bilgi için bkz. SQL Server Native Client ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma, Windows Üzerinde SQL Server'a ODBC için Sürüm Notları (V17) ve Windows Üzerinde SQL Server için Microsoft ODBC Sürücüsü'nün Özellikleri (V13, 11).

ODBC Sürücüleri

Sürüm

İndirilen

Yeni özellikler

ODBC Sürücüleri 17.0 - 17.3

SQL Server 2017

İndirin

ODBC Sürücüsü 17.3

ODBC Sürücüsüyle Azure Active Directory Kullanma

Always Encrypted kullanıldığında ODBC sürücüsünün sınırlamaları

XA İşlemlerini kullanma

ODBC Sürücüsü 17.2

SQL Server için ODBC Sürücüsüyle Always Encrypted Kullanma

Veri Sınıflandırma

UTF-8 sunucu kodlama Harmanlama ve Unicode desteği

ODBC Sürücüsü 17.1

SQL Server için ODBC Sürücüsüyle Always Encrypted Kullanma

ODBC Sürücüsü 17.0

Always Encrypted

UseFMTONLY    Geçici tablolar gerektiren özel durumlarda eski meta verileri kullanmak için. Bkz. Windows Üzerinde SQL Server için ODBC Sürüm Notları

Yönetilen Örnek kullanıldığında farklılıklar (ODBC sürüm 17)

ODBC Sürücüsü 13.1

SQL Server 2016 SP1, SQL Azure

İndirin

Always Encrypted

Azure Active Directory

AlwaysOn Kullanılabilirlik Grupları

SQL Server için ODBC Sürücüsünde Sürücü Algılamalı Bağlantı Havuzu

ODBC Sürücüsü 13.0

SQL Server 2016

İndirin

Uluslararası Etki Alanı Adı (IDN)

ODBC Sürücüsü 11.0

SQL Server 2005 - 2012

İndirin

Sürücü Algılamalı Bağlantı Havuzu

Windows ODBC Sürücüsünde Bağlantı Dayanıklılığı

Zaman Uyumsuz Yürütme

İstemci Bağlantılarında (ODBC) Hizmet Asıl Adları (SPN)

Windows Üzerinde SQL Server için Microsoft ODBC Sürücüsünün Özellikleri

Sayfanın Başı

OLE DB sağlayıcısı sürümlerinin özeti

Aşağıdaki tabloda OLE DB sağlayıcısı sürümleri, indirme konumları ve özellik desteği hakkında önemli bilgiler özetlenmiştir. Office'i değil Windows'u temel alarak sürücünün doğru bit sürümünü (64 bit veya 32 bit) kullandığınızdan emin olun. 64 bit Windows üzerinde 32 bit Access çalıştırıyorsanız, 64 bit sürücüleri yükleyin. Bunlar Access için gereken 32 bit bileşenleri de içerir.

Daha fazla bilgi için bkz. SQL Server Native Client ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.

OLE DB Sağlayıcısı

Sürüm

İndirilen

Yeni özellikler

OLE DB Sürücüsü 18.2.1

(MSOLEDBSQL)

SQL Server 2017

İndirin

Bkz. SQL Server için OLE DB Sürücüsü Özelliği ve SQL Server için Microsoft OLE DB Sürücüsü sürüm notları

SQL Server Native Client (SQLNCLI)

SQL Server 2005 - 2012

Kullanımdan kaldırıldı, kullanmayın

OLE DB Sürücüsü (SQLOLEDB)

Kullanımdan kaldırıldı, kullanmayın

Sayfanın Başı

ODBC anahtar sözcüğü özeti

Aşağıdaki tabloda SQL Server tarafından tanınan ODBC anahtar sözcükleri ve bunların amacı özetlenir. Access bunların yalnızca bir alt kümesini tanır.

Anahtar Sözcük

Açıklama

Addr

Bir SQL Server örneğini çalıştıran sunucunun ağ adresi.

AnsiNPW

NULL karşılaştırmalarını, karakter veri doldurmayı, uyarıları ve NULL birleştirmeyi (Evet veya Hayır) işlemek için ANSI tanımlı davranışların kullanımını belirtir.

APP

SQLDriverConnect çağrısı yapan uygulamanın adı.

ApplicationIntent

Sunucuya bağlanırken uygulama iş yükü türünü bildirir (ReadOnly veya ReadWrite).

AttachDBFileName

Bağlanabilir veritabanının birincil dosyasının adı.

AutoTranslate

İstemciyle sunucu arasında ANSI karakter dizelerinin gönderildiğini veya bunların Unicode'a çevrildiğini (Evet veya Hayır) belirtir.

Database

Veritabanı adı. Description Bağlantının amacı. Driver SQLDrivers tarafından döndürüldüğü şekliyle sürücünün adı.

DSN

Mevcut ODBC kullanıcı veya sistem veri kaynağının adı. Encrypt Verilerin ağ üzerinden gönderilmeden önce şifrelenip şifrelenmeyeceğini belirtir (Evet veya Hayır).

Failover_Partner

Birincil sunucuyla bağlantı kurulamadığında kullanılacak yük devretme ortağı sunucusunun adı.

FailoverPartnerSPN

Yük devretme ortağının SPN'si.

Fallback

Kullanımdan kaldırılmış anahtar sözcük.

FileDSN

Mevcut ODBC dosyası veri kaynağının adı. Language SQL Server dili.

MARS_Connection

SQL Server 2005 (9.x) veya sonraki sürümleri için bağlantıda birden çok etkin sonuç kümesi (MARS) belirtir (Evet veya Hayır).

MultiSubnetFailover

SQL Server kullanılabilirlik grubunun mu yoksa Yük Devretme Kümesi Ortağının mı kullanılabilirlik grubu dinleyicisine bağlanılacağını belirtir (Evet veya Hayır).

Net

dbnmpntw adlandırılmış kanalı ve dbmssocn de TCP/IP'yi belirtir.

PWD

SQL Server oturum açma parolası.

QueryLog_On

Uzun süre çalışan sorguların günlüğe kaydedilip kaydedilmeyeceğini belirtir (Evet veya Hayır).

QueryLogFile

Uzun süre çalışan sorgularda verileri günlüğe kaydetmek için kullanılan dosyanın tam yolu ve dosya adı.

QueryLogTime

Uzun süre çalışan sorguların günlüğe kaydedilmesi için eşiği (milisaniye cinsinden) belirten rakam karakter dizesi.

QuotedId

SQL Server'ın SQL deyimlerinde tırnak işareti kullanımıyla ilgili olarak ISO kurallarını kullanıp kullanmadığını belirtir (Evet veya Hayır).

Regional

SQL Server Native Client ODBC sürücüsünün para birimi, tarih veya saat verilerini karakter verilerine dönüştürürken istemci ayarlarını kullanıp kullanmayacağını belirtir (Evet veya Hayır).

SaveFile

Bağlantı başarılı olursa, geçerli bağlantının özniteliklerinin kaydedildiği ODBC veri kaynağı dosyasının adı.

Server

SQL Server örneğinin adı: Ağdaki sunucu, IP adresi veya Configuration Manager diğer adı.

ServerSPN

Sunucunun SPN'si.

StatsLog_On

SQL Server Native Client ODBC sürücüsünün performans verilerinin yakalamasını etkinleştirir.

StatsLogFile

SQL Server Native Client ODBC sürücüsünün performans istatistiklerini kaydetmek için kullanılan dosyanın tam yolu ve adı.

Trusted_Connection

Oturum açma doğrulamasında Windows Kimlik Doğrulaması Modu'nun mu yoksa SQL Server kullanıcı adıyla parolasının mı kullanılacağını belirtir (Evet veya Hayır).

TrustServerCertificate

Encrypt ile kullanıldığında, otomatik olarak imzalanan bir sunucu sertifikası kullanılarak şifrelemeyi etkinleştirir.

UID

SQL Server oturum açma adı.

UseProcForPrepare

Kullanımdan kaldırılmış anahtar sözcük.

WSID

İş istasyonu kimliği, uygulamanın bulunduğu bilgisayarın ağ adı.

Sayfanın Başı

OLE DB anahtar sözcüğü özeti

Aşağıdaki tabloda SQL Server tarafından tanınan OLE DB anahtar sözcükleri ve bunların amacı özetlenir. Access bunların yalnızca bir alt kümesini tanır.

Anahtar Sözcük

Description

Addr

Bir SQL Server örneğini çalıştıran sunucunun ağ adresi.

APP

Uygulamayı tanımlayan dize.

ApplicationIntent

Sunucuya bağlanırken uygulama iş yükü türünü bildirir (ReadOnly veya ReadWrite).

AttachDBFileName

Bağlanabilir veritabanının birincil dosyasının adı.

AutoTranslate

OEM/ANSI karakter çevirisini yapılandırır (Doğru veya Yanlış).

Connect Timeout

Veri kaynağını başlatma işleminin tamamlanması için beklenecek süre (saniye cinsinden).

Current Language

SQL Server dilinin adı.

Data Source

Kuruluştaki bir SQL Server örneğinin adı.

Database

Veritabanı adı.

DataTypeCompatibility

Kullanılacak veri türü işleme modunu belirten sayı.

Encrypt

Verilerin ağ üzerinden gönderilmeden önce şifrelenip şifrelenmeyeceğini belirtir (Evet veya Hayır).

FailoverPartner

Veritabanı yansıtması için kullanılan yük devretme sunucusunun adı.

FailoverPartnerSPN

Yük devretme ortağının SPN'si.

Initial Catalog

Veritabanı adı.

Initial File Name

Bağlanabilir veritabanının birincil dosyasının adı (tam yol adı dahil).

Integrated Security

Windows Kimlik Doğrulaması (SSPI) için kullanılır.

Language

SQL Server dili.

MarsConn

SQL Server 2005 (9.x) veya sonraki sürümleri için bağlantıda birden çok etkin sonuç kümesi (MARS) belirtir (Evet veya Hayır).

Net

Kuruluştaki bir SQL Server örneğiyle bağlantı kurmak için kullanılan ağ kitaplığı.

Network Address

Kuruluştaki bir SQL Server örneğinin ağ adresi.

PacketSize

Ağ paketi boyutu. Varsayılan olarak 4096’dır.

Persist Security Info

Kalıcı güvenliğin etkinleştirilip etkinleştirilmediğini belirtir (Doğru veya Yanlış).

PersistSensitive

Kalıcı gizliliğin etkinleştirilip etkinleştirilmediğini belirtir (Doğru veya Yanlış).

Provider

SQL Server Native Client Native Client için bu SQLNCLI11 olmalıdır.

PWD

SQL Server oturum açma parolası.

Server

SQL Server örneğinin adı: Ağdaki sunucu, IP adresi veya Configuration Manager diğer adı.

ServerSPN

Sunucunun SPN'si.

Timeout

Veri kaynağını başlatma işleminin tamamlanması için beklenecek süre (saniye cinsinden).

Trusted_Connection

Oturum açma doğrulamasında Windows Kimlik Doğrulaması Modu'nun mu yoksa SQL Server kullanıcı adıyla parolasının mı kullanılacağını belirtir (Evet veya Hayır).

TrustServerCertificate

Sunucu sertifikasının doğrulanmış olup olmadığını belirtir (Doğru veya Yanlış).

UID

SQL Server oturum açma adı.

Use Encryption for Data

Verilerin ağ üzerinden gönderilmeden önce şifrelenip şifrelenmeyeceğini belirtir (Doğru veya Yanlış).

UseProcForPrepare

Kullanımdan kaldırılmış anahtar sözcük.

WSID

İş istasyonu kimliği, uygulamanın bulunduğu bilgisayarın ağ adı.

Sayfanın Başı

Ayrıca Bkz:

OCDB veri kaynaklarını yönetme

Bağlantılı tabloları yönetme

Office yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×