mdac gelen yerel SQL Server istemci uygulama güncelleştiriliyor

Arasındaki farklar vardır SQL ServerNative Client ve Microsoft Data Access Components (mdac; Windows Vista ile başlayarak, veri erişim bileşenleri şimdi Windows Data Access Components veya Windows dac olarak adlandırılır). Hem yerel veri erişimi sağlasa SQL Serververitabanları, SQL Serveryerel istemci yeni özellikler ortaya çıkarmak için özel olarak tasarlanmıştır SQL Server 2005, aynı zamanda önceki sürümleriyle geriye dönük uyumluluk bakımını.

Bu konudaki bilgiler yardımcı olur güncelleme sürümü ile geçerli olması için mdac (ya da Windows dac) uygulaması SQL ServerNative Client, dahil oldu SQL Server 2005. Sürümü ile geçerli olacak bu uygulamayı yapmak için SQL ServerNative Client, sevk SQL Server 2012bakın Gelen SQL Server 2005 yerel istemci uygulama güncelleştiriliyor.

Buna ek olarak, ActiveX Veri Nesneleri (ado), ole db ve odbc kullanarak bileşenleri mdac içerir, ancak SQL Serveryerel istemci yalnızca ole db ve odbc uygular (ado işlevlerini erişebilirsiniz, ancak SQL Serveryerel istemci).

SQL ServerYerel istemci ve mdac diğer aşağıdaki alanlarda farklılık gösterir:

  • Erişmek için ado kullanan kullanıcılar, bir SQL Serveryerel istemci sağlayıcısını sql ole db sağlayıcısı erişmeleri ne zaman daha az süzme işlevselliği bulabilirsiniz.

  • ado uygulama kullanıyorsa, SQL Serveryerel istemci ve hesaplanmış bir sütun güncelleştirme girişimlerinin bir hata bildirilir. mdac güncelleştirmesini kabul ama yoksayılır.

  • SQL ServerYerel istemci tek başına kullanılan dinamik bağlantı kitaplığı (dll) dosyası olan. Kamuya sunulan arabirimlere minimum, hem dağıtım kolaylığı, hem de güvenlik maruz kalma sınırı için tutulmuştur.

  • Yalnızca ole db ve odbc arabirimler desteklenir.

  • SQL ServerYerel istemci ole db sağlayıcısı ve odbc sürücü adlarını mdac kullanılanlardan farklı.

  • Kullanıcı tarafından erişilebilen işlevleri mdac bileşenleri tarafından sağlanan kullanılabilir kullanırken SQL ServerNative Client. Bu içerir, ancak, aşağıdaki sınırlı değildir: bağlantı havuzu, ado destek ve istemci imleç desteği. Bu özellikleri kullanıldığında, SQL ServerNative Client kaynakları yalnızca veritabanı bağlantısı. mdac, izleme, yönetim denetimi ve performans sayaçları gibi işlevler sağlar.

  • Uygulamaları ole db Çekirdek Hizmetleri ile kullanabilirsiniz SQL Serveryerel istemci ole db imleç altyapısı kullanılarak, ama onlar imleç altyapısı yeni hiçbir bilgiye sahip olduğundan, oluşabilecek olası sorunları önlemek için veri türü uyumluluk seçeneği kullanmanız gereken SQL Server 2005veri türlerini.

  • SQL ServerYerel istemci destekleyen önceki erişim SQL Serververitabanları.

  • SQL Serverİstemci yerel xml Tümleştirme içermiyor. SQL Serverİstemci yerel Seç destekler... xml sorgular, ancak başka bir xml işlevselliği desteklemiyor. Ancak, SQL Serveryerel istemci desteği xmlveri türü kullanılmaya SQL Server 2005.

  • SQL ServerYerel istemci bağlantı dizesi öznitelikleri kullanarak istemci ağ kitaplıkları yapılandırma destekler. Eğer daha kapsamlı ağ kitaplığı yapılandırması gerekiyorsa, kullanmanız gereken SQL ServerYapılandırma Yöneticisi.

  • SQL ServerYerel istemci odbcbcp.dll ile uyumlu değil. Her iki odbc kullanan uygulamalar ve bcpAPI'leri kullanmak için sqlncli11.lib ile bağlantı oluşturulması gerekir SQL ServerNative Client.

  • SQL ServerYerel istemci, Microsoft ole db sağlayıcısı için odbc (msdasql) desteklenmiyor. ado ile msdasql veya mdac sqlodbc sürücüsü ile mdac sqlodbc sürücü kullanıyorsanız, ole db kullanan SQL ServerNative Client..

  • mdac bağlantı dizeleri izin bir Boole değeri (true) için Trusted_Connection anahtar. A SQL Serveryerel istemci bağlantı dizesi kullanmak gerekir yesya no.

  • Küçük değişiklikler için uyarı ve hatalar oluştu. Şimdi sunucu tarafından döndürülen hataları ve uyarıları korumak için geçirilen aynı önem SQL ServerNative Client. Özel uyarıları ve hataları yakalama üzerinde bağımlıysa iyice uygulamanızı test ettim emin olmanız gerekir.

  • SQL ServerYerel istemci denetimi anlamına kesinlikle için odbc ve ole db spesifikasyonlara uygun olmayan bazı uygulamalar farklı davranabilir mdac daha sıkı hatalı. Örneğin, parametre adları '@' ile başlaması gereken kural sqloledb Sağlayıcısı zorunlu değildir Sonuç parametreleri, ama SQL Serveryerel istemci ole db sağlayıcısı yok.

  • SQL ServerYerel istemci mdac başarısız bağlantılar açısından farklı davranır. Örneğin mdac ise başarısız oldu, bir bağlantı için önbelleğe alınan özellik değerleri döndürür SQL ServerNative Client, çağıran uygulama hata bildiriyor.

  • SQL ServerYerel istemci Visual Studio Analyzer olayları oluşturmaz, ancak bunun yerine Windows izleme olayları oluşturur.

  • SQL ServerYerel istemci perfmon ile kullanılamaz. Perfmon, sadece dahil mdac sqlodbc sürücüsü Windows ile kullanmak DSN'lerini kullanılabilir bir Windows aracıdır.

  • Ne zaman SQL Serveryerel istemci bağlı SQL Server 2005ve sonraki sürümlerinde, sunucu hatası 16947 sql_error döner. Bu hata, güncelleştirmek veya bir satır silmek bir konumlandırılmış güncelleştirme veya silme başarısız olduğunda oluşur. Herhangi bir sürümüne bağlanırken mdac ile SQL Server, sunucu hata 16947 bir uyarı (SQL_SUCCESS_WITH_INFO) olarak geri döndü.

  • SQL ServerYerel istemci uygular IDBDataSourceAdmin arabirimi, değil daha önce uygulanan, ancak yalnızca isteğe bağlı ole db arabirim olduğu CreateDataSource bu isteğe bağlı arabirim yöntemi uygulanır. Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.

  • SQL ServerYerel istemci ole db sağlayıcısı eşanlamlıları döndürür tabloları ve TABLE_INFO table_type ile şema satır kümeleri için eşanlamlı ayarla.

  • Dönüş veri türü değerleri varchar(max), nvarchar(max), varbinary(max), xml, udt, ya da diğer büyük nesne türleri istemci sürümlerinde döndürülen değil daha önceki SQL Server 2005. Bu türler dönüş değeri olarak kullanmak isterseniz, kullanmanız gereken SQL ServerNative Client.

  • mdac manuel ve örtülü hareketleri başlangıcında çalıştırılacak aşağıdaki deyimleri izin verir ama SQL Serveryerel istemci yok. Autocommit modunda çalıştırılmalıdır.

    • Tüm tam metin işlemleri (dizin ve Katalog ddl)

    • Tüm veritabanı işlemleri (veritabanı, alter database, açılan veritabanı)

    • Yeniden yapılandırın

    • Kapatma

    • Öldürmek

    • Yedekleme

  • mdac uygulamaları bağladığınızda SQL Server, veri türlerini kullanılmaya SQL Server 2005olarak SQL Server 2000-uyumlu veri türleri aşağıdaki tabloda gösterildiği gibi.

    SQL Server 2005 türü

    SQL Server 2000 türü

    varchar(max)

    text

    nvarchar(max)

    ntext

    varbinary(max)

    image

    udt

    varbinary

    xml

    ntext

    Bu tür eşleme sütun meta verileri için döndürülen değerleri etkiler. Örneğin, bir metin sütun 2.147.483.647, maksimum boyutu vardır ama SQL Serveryerel istemci odbc maksimum boyutu raporları varchar(max) sütun olarak SQL_SS_LENGTH_UNLIMITED, ve SQL Serveryerel istemci ole db maksimum boyutunu bildirir varchar(max) 2.147.483.647 veya -1, platformuna bağlı olarak sütunlar.

  • SQL ServerYerel istemci bağlantı dizeleri belirsizlik sağlar (örneğin, bazı anahtar kelimeler birden çok kez belirtilebilir ve çakışan anahtar kelimeler izin konum veya önceliğe göre çözünürlük) geriye dönük uyumluluk için. Gelecek sürümler SQL Serveryerel istemci izin vermez belirsizlik bağlantı dizeleri. O iyi uygulamaların değiştirirken olur SQL Serveryerel istemci bağlantı dizesi belirsizlik herhangi bir bağımlılık ortadan kaldırmak için.

  • Hareketleri başlatmak için odbc ya da ole db aramayı kullanırsanız, davranış arasında bir fark olduğunu SQL Serveryerel istemci ve mdac; işlemler başlayacak hemen ile SQL Serverilk veritabanını eriştikten sonra mdac kullanan yerel istemci, ancak işlemler başlayacak. Bu saklı yordamları ve toplu davranışını etkileyebilir çünkü SQL Server@@ trancount olarak toplu iş veya saklı yordam başladı, bir toplu iş veya saklı yordam yürütme bittikten sonra aynı olmasını gerektirir. Daha fazla bilgi için bkz. Building Applications with SQL Server Native Client.

  • İle SQL ServerNative Client, ITransactionLocal::BeginTransactionhemen başlatılacak bir hareket neden olur. Kesin hareketin modunu işlemde gereken bir deyimi uygulama yürütülen kadar mdac ile hareket başlangıç ertelenmişti. Daha fazla bilgi için, bkz. set IMPLICIT_TRANSACTIONS (Transact-sql).

  • Kullanırken hatalarla karşılaşabilirsiniz SQL Serveryerel istemci sürücüsü ile System.Data.Odbcerişim için bir SQL Serversunar, yeni sunucu bilgisayar SQL Server-belirli veri türleri ya da özellikleri. System.Data.Odbcsatıcıya özgü işlevsellik veya uzantıları sonradan göstermiyor ve genel bir odbc uygulaması sağlar. ( SQL ServerYerel istemci sürücüsü en son yerli çekmek için güncelleştirilmiş SQL Serverşekil.) Workaround-e doğru bu sorun için mdac geri, ya göç System.Data.SqlClient.

Hem SQL Serveryerel istemci ve mdac desteği yalnızca satır sürüm oluşturmayı kullanarak kaydedilmiş hareket yalıtım okuma SQL Serveryerel istemci destekleyen anlık hareket yalıtım. (Programlama açısından, satır sürüm oluşturmayı kullanarak okuma kaydedilmiş hareket yalıtım okunur kaydedilmiş hareket aynıdır.) Daha fazla bilgi için, bkz. Choosing Row Versioning-Based Isolation Levels.

Ayrıca bkz.

Diğer Kaynaklar

SQL Server ile yerel istemci uygulamaları oluşturma