Aracılığıyla paylaş


SQL Server 2008 yerel istemci için bir uygulama SQL Server 2005 yerel istemcisi'nden güncelleştiriliyor

SQL Server 2008 içerir SQL Server Yerel istemci 10.0. Bu konu bu sürüm ve önceki sürümleri arasındaki davranış farklılıklarını açıklamaktadır. SQL Server Yerel istemci.

Gelen Microsoft Data Access Components (MDAC) için hangi koşullarda yükseltme SQL Server Yerel istemci 10.0, bazı davranış farklılıkları görebilirsiniz. Daha fazla bilgi için bkz:Bir MDAC gelen yerel SQL Server istemci uygulaması güncelleştiriliyor.

SQL Server yerel istemci 10.0 değiştirilmiş davranışı

Açıklama

Yalnızca tanımlı ölçeklemek için OLE DB altlıkları.

Burada, dönüştürülmüş verileri sunucuya gönderilen dönüştürmeleri için SQL Server Yalnızca en fazla uzunluğu en çok veri ardarda sıfırları yerel istemci 10.0 pads datetime Değerler. SQL Server yerel istemci 9.0 ve 9 basamağa önceki edilirken.

DBTYPE_DBTIMESTAMP için Doğrula ICommandWithParameter::SetParameterInfo.

SQL Server OLE DB gereksinimini yerel istemci 10.0 uygular bScale içinde ICommandWithParameter::SetParameterInfo kesirli saniye duyarlık için DBTYPE_DBTIMESTAMP için ayarlanacak.

The sp_columns saklı yordam now returns "NO" instead of "NO " for the IS_NULLABLE sütun.

Içinde SQL Server Yerel istemci, 10.0 sp_columns procedurenow döndürür depolanır. "HAYIR" yerine"HAYIR" bir IS_NULLABLE sütun için.

SQLSetDescRec, SQLBindParameter, ve SQLBindCol Şimdi, tutarlılık denetimi gerçekleştirin.

Önce SQL Server Yerel istemci 10.0, SQL_DESC_DATA_PTR ayarlamak için herhangi bir tanımlayıcısı türü bir tutarlılık denetimi neden değil SQLSetDescRec, SQLBindParameter, veya SQLBindCol.

SQLCopyDesc Şimdi, tanımlayıcı tutarlılık denetimi yapar.

Önce SQL Server Yerel istemci, 10.0 SQLCopyDesc SQL_DESC_DATA_PTR alan olduğunda tutarlılık denetimi bulunmayan küme belirli bir kaydı.

SQLGetDescRec artık bir tanımlayıcısı tutarlılığını denetlemez.

Önce SQL Server Yerel istemci, 10.0 SQLGetDescRec SQL_DESC_DATA_PTR alanını ayarladığınızda, tanımlayıcısı tutarlılık denetimi yaptı. Bu ODBC belirtimine göre ve içinde gerekli değil SQL Server Yerel istemci 10.0 bu tutarlılık denetimi artık gerçekleştirilir.

Farklı tarih aralığının dışında olduğunda döndürülen hata.

Için datetime türü, bir başka hata numarası tarafından döndürülür SQL Server Yerel istemci 10.0 çıkış-ın-aralık'den önceki sürümlerde döndürüldü tarih.

Özellikle, SQL Server Yıl değerlerinin tüm dışarı aralık için 22007 dize dönüştürmeleri için yerel istemci 9.0 döndürdü datetime, ve SQL Server Tarafından desteklenen aralıkta tarih olduğunda, yerel istemci 10.0 22008 verir... datetime2 Ancak, desteklenen aralık dışında datetime veya smalldatetime.

datetime değer, kesirli saniye keser ve yuvarlama gün değişir, yuvarlama.

Önce SQL Server Istemci davranışı için yerel istemci 10.0 datetime sunucuya gönderilen değerleri olan en yakın 1 yuvarlamak/300th biri. Içinde SQL Server Yuvarlama gün değişirse, yerel istemci 10.0 Bu senaryo bir kesilme kesirli saniye neden olur.

OLE DB veri dönüştürme DBTYPE_DBTIME DBTYPE_DATE artık gününü değiştirmek neden olabilir.

Önce SQL Server Içinde gece yarısı, yarı ikinci bir DBTYPE_DATE saat bölümü ise, yerel istemci 10.0, OLE DB dönüştürme kodunu değiştirmek için bu gün neden oldu. Içinde SQL Server Yerel istemci 10.0, günü olacaktır (kesirli saniye kesildi ve değil yuvarlanır) değiştirme.

IBCPSession::BCColFmt dönüştürme değiştirir.

Içinde SQL Server Yerel istemci kullandığınızda 10.0, IBCPSession::BCOColFmt SQLDATETIME veya SQLDATETIME bir dize türüne dönüştürmek için kesirli bir değer verilir. Örneğin, dönüştürme yazdığınızda SQLDATETIME SQLNVARCHARMAX, önceki sürümlerinde yazmak için SQL Server Yerel istemci döndürdü.

1989-02-01 00:00:00.SQL Server Native Client 10.0 returns 1989-02-01 00:00:00.0000000.

Gönderilen verilerin boyutu SQL_LEN_DATA_AT_EXEC içinde belirtilen uzunluk eşleşmesi gerekir.

SQL_LEN_DATA_AT_EXEC kullanırken, verinin boyutunu SQL_LEN_DATA_AT_EXEC ile belirtilen uzunluk eşleşmesi gerekir.SQL_DATA_AT_EXEC kullanabilirsiniz, ancak SQL_LEN_DATA_AT_EXEC kullanmanın olası performans avantajları vardır.

BCP API kullanan özel uygulamaları şimdi bir uyarı görürsünüz.

Veri uzunluğu tüm türleri için bir alan için belirtilen uzunluğundan büyük BCP API bir uyarı iletisi oluşturur.Daha önceleri, bu uyarı yalnızca karakter türleri için verilen, ancak tüm türleri için verilir.

Boþ bir dize ekleme bir sql_variant bir tarih/saat türü, hata üretir gibi bağlı.

Içinde SQL Server Boþ bir dize ekleme, yerel istemci 9.0 bir sql_variant bir tarih/saat türü bir hata oluşturmak gibi bağlı. SQL Server Yerel istemci 10.0, bu durumda doğru hata üretir.

Daha sıkı SQL_C_TYPE _TIMESTAMP ve DBTYPE_DBTIMESTAMP parametre doğrulama.

Önce SQL Server 2008 Yerel bir istemci datetime değerlerin ölçeğini sığacak şekilde yuvarlanır datetime ve smalldatetime sütuna göre SQL Server. SQL Server 2008 Yerel istemci şimdi kesirli saniye için ODBC çekirdek belirtiminde tanımlanan daha sıkı doğrulama kuralları için geçerlidir.Istemci, basamak izleyen kesilme bağlama tarafından örtük ya da belirtilen ölçek kullanarak SQL türü için bir parametre değeri dönüştürülemiyor, bir hata döndürülür.

SQL Server Tetikleyici çalıştığında farklı sonuçlar döndürebilir.

Değişiklikleri SQL Server 2008 bir uygulamanın ne zaman çalıştırmak bir tetikleyici neden ekstresindeki döndürdü farklı sonuçlar neden olabilir NOCOUNT OFF etkili oldu. Bu durumda, uygulamanızın bir hata oluşturabilir.Bu hatayı gidermek için , küme NOCOUNT ON Tetikleyici ya da arama SQLMoreResults sonraki sonucu ilerlemek için .