Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform System (PDW)
OLE DB sürücüsünü indirme
Bu makale, SQL Server 2005 (9.x)'de SQL Server Native Client'tan bu yana OLE DB Driver for SQL Server'daki son değişiklikleri tartışmaktadır.
Microsoft Data Access Components (MDAC) ile OLE DB Driver for SQL Server'a yükselttiğinizde, bazı davranış farklılıkları da görebilirsiniz. Daha fazla bilgi için bkz . MDAC'den SQL Server için BIR Uygulamayı OLE DB Sürücüsüne Güncelleştirme.
SQL Server Native Client 9.0, SQL Server 2005 (9.x) ile birlikte gönderildi. SQL Server Native Client 10.0, SQL Server 2008 (10.0.x) ile birlikte gönderildi. SQL Server Native Client 10.5, SQL Server 2008 R2 (10.50.x) ile birlikte gönderildi. SQL Server Native Client 11.0, SQL Server 2012 (11.x) ve SQL Server 2014 (12.x) ile birlikte gönderildi.
| OLE DB Driver for SQL Server SQL Server (9.x) Native Client ile karşılaştırıldığında davranış değişti | Description |
|---|---|
| OLE DB padleri yalnızca tanımlanmış ölçekte kullanılır. | Dönüştürülmüş verilerin sunucuya gönderildiği dönüşümler için, OLE DB Driver for SQL Server yalnızca verideki sıfırların ardından sadece tarih süresi değerlerinin maksimum uzunluğuna kadar olan padler kullanır. SQL Server Native Client 9.0 9 haneli hale ulaştı. |
| ICommandWithParameter::SetParameterInfo için DBTYPE_DBTIMESTAMP doğrulama. | OLE DB Driver for SQL Server, ICommandWithParameter::SetParameterInfo içinde bScale için OLE DB gerekliliğini uygular; bu gereksinim DBTYPE_DBTIMESTAMP için kesirli saniye hassasiyetine ayarlanır. |
| sp_columns kaydedilen prosedür artık IS_NULLABLE sütunu için "HAYIR" yerine "HAYIR" döndürür. | OLE DB Driver for SQL Server'sp_columns saklanan prosedür artık IS_NULLABLE sütun için "HAYIR" yerine "HAYIR" döner. |
| Tarih aralık dışında olduğunda farklı bir hata döner. |
Tarih saati türü için, OLE DB Driver for SQL Server tarafından önceki sürümlere göre aralık dışı bir tarih için farklı bir hata numarası döndürülür. Özellikle, SQL Server Native Client 9.0, datetime'a dönüştürülmüş dize dönüşümlerinde tüm aralık dışı yıl değerleri için 22007 döndürürken, OLE DB Driver for SQL Server tarih datetime2 tarafından desteklenen aralık içinde ancak datetime veya smalldatetime tarafından desteklenen aralığın dışında olduğunda 22008 döndürür. |
| Tarih Saati değeri, yuvarlama günü değiştirecekse kısır saniyeleri kısaltır ve yuvarlanmaz. | SQL Server Native Client 10.0'dan önce, sunucuya gönderilen datetime değerleri için istemci davranışı, onları en yakın 1/300 saniyeye yuvarlamaktır. OLE DB Driver for SQL Server'da, yuvarlama günü değiştirirse bu senaryo kısmal saniyelerde kısaltmaya neden olur. |
| Datetime değeri için saniyelerin kısaltılması muhtemel bir yöntem. | SQL Server 2005 sunucusuna bağlanan OLE DB Driver for SQL Server ile oluşturulmuş bir uygulama, sunucuya gönderilen verinin zaman kısmını saniyeler ve kısmal saniyeler olarak kıstırır; eğer bir tarih saati sütununa DBTYPE_DBTIMESTAMP (OLE DB) veya SQL_TIMESTAMP (ODBC) tür tanımlayıcısı ve 0 ölçeği bağlanırsa. Örneğin: Giriş verisi: 1994-08-21 21:21:36.000 Eklenen veriler: 1994-08-21 21:21:00.000 |
| OLE DB verilerini DBTYPE_DBTIME'den DBTYPE_DATE'e dönüştürmek artık günün değişmesine neden olamaz. | Native Client 10.0 SQL Server öncesinde, bir DBTYPE_DATE'in zaman kısmı gece yarısından yarım saniye içindeyse, OLE DB dönüşüm kodu günü değiştirirdi. OLE DB Driver for SQL Server'da gün değişmez (kısmal saniyeler kesilir ve yuvarlanmaz). |
| IBCPSession::BCColFmt dönüşüm değişiklikleri. | OLE DB Driver for SQL Server'da, IBCPSession::BCOColFmt kullanarak SQLDATETIME veya SQLDATETIME'ı bir dizi türüne dönüştürdüğünüzde, kesirli bir değer dışa aktarılır. Örneğin, SQLDATETIME tipini SQLNVARCHARMAX tipine dönüştürürken, SQL Server Native Client 10.0'dan önceki sürümler geri döndü 1989-02-01 00:00:00. OLE DB Driver for SQL Server döner 1989-02-01 00:00:00.0000000. |
| BCP API'sini kullanan özel uygulamalar artık bir uyarı görebiliyor. | BCP API, veri uzunluğu tüm türler için bir alan için belirtilen uzunluktan büyükse uyarı mesajı oluşturur. Daha önce bu uyarı sadece karakter tipleri için verilirdi, ancak tüm tipler için verilmeyecektir. |
| Bir sql_variant sınırına tarih/saat türü olarak boş bir dizi eklemek hata oluşturur. | SQL Server Native Client 9.0'da, sql_variant sınırına tarih/zaman türü olarak boş bir dizi eklemek hata yaratmıyordu. OLE DB Driver for SQL Server bu durumda doğru bir hata oluşturur. |
| SQL Server, bir tetikleyici çalıştığında farklı sonuçlar verebilir. | SQL Server 2008 (10.0.x)'de getirilen değişiklikler, bir uygulama OFF (KAPALı) etkinlikte tetikleyicinin çalışmasına NOCOUNT neden olan bir ifadeden farklı sonuçlar almasına neden olabilir. Bu durumda, başvurunuz hata oluşturabilir. Bu hatayı çözmek için tetikte ON'a basınNOCOUNT. |