sqlxml 4.0 SP1 yenilikler
Microsoftsqlxml 4.0 SP1 çeşitli güncelleştirmeler ve geliştirmeler içerir. Bu konuda güncelleştirmelerini özetler ve mümkün olan yerlerde daha ayrıntılı bilgilere bağlantılar sağlar. sqlxml 4.0 SP1 yeni veri türleri tanıttı desteklemek için ek geliştirmeler sağlar SQL Server 2008. Bu konu, aşağıdaki konuları içerir:
sqlxml 4.0 SP1 yükleme
Yan yana yükleme sorunları
sqlxml 4.0 ve msxml
sqlxml 4.0 yeniden dağıtma
Destek SQL Serveryerel istemci
Tanıtılan veri türleri için destekSQL Server 2005
sqlxml 4.0 için xml Bulk yükü değişiklikleri
sqlxml 4.0 için kayıt defteri anahtarı değişiklikleri
Geçiş konuları
sqlxml 4.0 SP1 yükleme
Önce SQL Server 2008, sqlxml 4.0 SQL Server ile piyasaya çıktı ve SQL Server Express haricindeki tüm SQL Server sürümleri varsayılan yüklemesinin bir parçası olarak. İle başlayan SQL Server 2008, sqlxml (sqlxml 4.0 SP1) en son sürümü artık SQL Server'da bulunur. sqlxml 4.0 SP1'i yüklemek için download o--dan sqlxml 4.0 SP1 yükleme konumu.
sqlxml 4.0 SP1 dosyaları, aşağıdaki konuma yüklenir:
%PROGRAMFILES%\SQLXML 4.0\
[!NOT]
sqlxml 4.0 için tüm uygun kayıt defteri ayarlarını yükleme işleminin bir parçası olarak yapılır.
64-Bit Windows işletim sistemlerinde 32-bit sqlxml uygulamaları Windows altında Windows (WOW64) üzerinde çalışmasına izin vermek için Yükleme Merkezi'nde bulunan sqlxml4.msi adlı 64-bit sqlxml 4.0 SP1 paketini çalıştırın.
sqlxml 4.0 SP1'i kaldırma
Kayıt defteri anahtarlarını sqlxml 3.0 SP3, sqlxml 4.0 ve sqlxml 4.0 SP1 arasında mevcut paylaştı. sqlxml 3.0 SP3 içeren aynı bilgisayarda sqlxml sonraki sürümleri kaldırılmaz, sqlxml 3.0 SP3'ü yeniden yüklemeniz gerekebilir.
Yan yana yükleme sorunları
sqlxml 4.0 yükleme işlemi, sqlxml önceki sürümleri tarafından yüklenmiş dosyaları kaldırmaz. Bu nedenle, bilgisayarınızda birkaç farklı sürüm belirgin yüklemelerinde sqlxml DLL'leri olabilir. Sen-ebilmek koşmak yüklemeleri-yan. sqlxml 4.0 sürüm bağımsız ve sürümüne bağımlı bir ProgID içerir. Tüm üretim uygulamaları sürümüne bağımlı ProgID'leri kullanmalısınız.
sqlxml 4.0 SP1 ve msxml
sqlxml 4.0, msxml yüklemez. sqlxml 4.0 kullanan bir parçası olarak yüklenen msxml 6.0 SQL Server 2005ya da daha sonra yüklemeyi.
sqlxml 4.0 SP1'i yeniden dağıtma
sqlxml 4.0 SP1 yeniden dağıtılabilir yükleyici paketini kullanarak dağıtabilirsiniz. Ne kullanıcıya tek bir yükleme olarak görünüyor birden çok paket yüklemek için bir yol, bağlayıcı ve önyükleyici teknoloji kullanmaktır. Daha fazla bilgi için bkz: Visual Studio 2005 ve ekleme özel Önkoşullar için Custom Bootstrapper paket yazma.
Uygulamanız bir platform üzerinde geliştirilen farklı hedefliyorsa, sqlncli.msi x 64, Itanium ve x 86 sürümleri Microsoft Yükleme Merkezi'nden indirebilirsiniz.
msxml 6.0 (msxml6.msi) için ayrı dağıtım yükleme programları vardır. Bunlar bulunabilir SQL ServerYükleme CD'si aşağıdaki konumda:
%CD%\Setup\
Bu yükleme dosyaları, msxml 6.0 doğrudan CD'den yüklemek için kullanılabilir. msxml 6.0 sqlxml 4.0 SP1 ile birlikte kendi özel uygulamalar ile serbestçe yeniden dağıtmak için de kullanılabilir.
Sen-ecek da lüzum-e yeniden SQL ServerYerel veri sağlayıcısı olarak uygulamanız ile kullanıyorsanız, istemci. Daha fazla bilgi için, bkz. SQL Server yerel istemcisi yükleme.
SQL Server yerel istemci desteği
sqlxml 4.0 destekler hem sqloledb ve SQL Serveristemci yerel sağlayıcıların. Aynı sürümünü kullanmanız önerilir SQL Serveryerel istemci sağlayıcısı ve SQL Serverçünkü SQL Serveryerel istemci sunucu, gemi gibi herhangi bir yeni veri türlerini desteklemek için geliştirilmiş Date, Time, DateTime2, ve dateTimeOffsetveri türü SQL Server 2008ve tarafından desteklenen SQL Server 2012Native Client.
SQL ServerYerel istemci tanıtıldı bir veri erişim teknolojisi olan SQL Server 2005. Bu sqloledb Sağlayıcısı ve sqlodbc sürücü bir yerel dinamik bağlantı kitaplığı (dll), de ayrı ve farklı Microsoft Data Access Components (mdac) dan yeni işlevler sağlarken birleştirir.
SQL ServerYerel istemci yeni uygulamalar oluşturmak veya sunulan özelliklerden yararlanmak için gereken varolan uygulamaları geliştirmek için kullanılabilecek SQL ServerDesteklenmeyen sqloledb ve MDAC sqlodbc ve MicrosoftWindows. Örneğin, SQL ServerNative Client for xml kullanma gibi istemci tarafı sqlxml özellikler için gerekli xmlveri türü. Daha fazla bilgi için bkz: Istemci tarafı xml biçimlendirmesi (sqlxml 4.0), ado sqlxml yürütme kullanarak 4.0 sorgular, ve SQL Server yerel istemci programlama.
[!NOT]
sqlxml 4.0 sqlxml 3.0 tamamen geriye dönük değil. Bazı hata düzeltmeleri ve diğer işlevsel değişiklikler, sqlxml ISAPI desteği, özellikle kaldırılması nedeniyle sqlxml 4.0 ile IIS sanal dizinleri kullanamazsınız. Uygulamaların çoğu küçük değişiklikler ile çalışır, ancak üretim sqlxml 4.0 geçirmeden önce onları sınamanız gerekir.
SQL Server 2005 ve SQL Server 2008 eklenmiştir veri türleri için destek
SQL Server 2005tanıtılan xmlveri türü ve sqlxml 4.0 destekler xmlveri türü. Daha fazla bilgi için bkz: xml veri türü desteği sqlxml 4.0.
Nasıl kullanılacağını gösteren örnekler için xmlveri türüne sqlxml içinde xml görünümlerini eşleme, xml yükleme toplu veya aşağıdaki konularda sağlanan örnek xml updategrams yürütme bakın.
SQL Server 2008tanıtılan Date, Time, DateTime2, ve DateTimeOffset veri türlerini. sqlxml 4.0 SP1-etkinleştirmek bu dört yeni veri türleri olarak kullanıldığında yerleşik sayısal türler SQL Server 2012Yerel istemci ole db içinde hangi gemi sağlayıcısı (SQLNCLI10), SQL Server 2012.
sqlxml 4.0 SP1 için xml Bulk yükü değişiklikleri
sqlxml 4.0, SchemaGentaşma alanı kullanılarak oluşturulan xmlveri türü. Daha fazla bilgi için bkz: SQL Server xml Bulk Load nesne modeli.
Daha önce oluşturduysanız, MicrosoftVisual Basic uygulamalarını ve sqlxml 4.0 kullanmak istiyorsanız, uygulama Xblkld4.dll referans ile derlemeniz gerekir.
Visual Basic Scripting Edition uygulamaları için kullanmak istediğiniz dll dosyasını kaydetmeniz gerekir. Sürüm bağımsız ProgID, belirtirseniz, aşağıdaki örnekte, uygulama son kayıtlı dll üzerinde bağlıdır:
set objBulkLoad = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad") set objBulkLoad = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
[!NOT]
SQLXMLBulkLoad.SQLXMLBulkLoad.4.0 sürümüne bağımlı ProgID'sidir.
sqlxml 4.0 için kayıt defteri anahtarı değişiklikleri
sqlxml 4.0 içinde kayıt defteri anahtarlarını önceki sürümlerden aşağıdaki şekilde değişmiştir:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SQLXML4\TemplateCacheSize
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SQLXML4\SchemaCacheSize
Bu anahtarları sqlxml 4.0 için etkili olmasını istiyorsanız, ayarları değiştirmeniz gerekir.
Ayrıca, aşağıdaki kayıt defteri anahtarlarını sqlxml 4.0 tanıtır:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\SQLXML4\ReportErrorsWithSQLInfo
Varsayılan olarak, sqlxml 4.0 ole db tarafından sağlanan yerel hata bilgilerini verir ve SQL Serverüst düzey bir sqlxml hata yerine (sqlxml önceki sürümlerinde olduğu gibi). Bu davranışı istemiyorsanız, bu kayıt defteri anahtarı dword türünde değeri (varsayılan 1'dir) 0 olarak ayarlanması gerekir.
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\SQLXML4\FORXML_GenerateGUIDBraces
Varsayılan olarak, sqlxml dönmek SQL Server GUID değerlerini kapsayan parantezler olmadan. Parantezler ile döndürülen GUID değerini istiyorsanız (örneğin, {some GUID}), bu kayıt defteri anahtarı değerini 1 olarak ayarlayın (varsayılan değer 0).
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\SQLXML4\SQL2000CompatMode
Çözümleyici ile belirtilen xml verileri yüklendiğinde varsayılan olarak, xml 1.0 kurallarına göre beyaz boşluk normalleştirilmiş. Bu bazı verilerinizi beyaz boşluk karakterleri kaybına neden olur. Anlam verileri aynı olsa, verilerinizi metinsel gösterimini aynı ayrıştırma sonra olmayabilirler.
Bu anahtar, böylece boşluk karakterleri veri tutmak için seçebileceğiniz tanıtıldı. Bu kayıt defteri anahtarı eklemek ve koymak onun değer-e doğru 0, boşluk karakterleri (lf, cr ve sekme) XML öznitelik değerleri halinde kodlanmış döndürülür. Öğe değerlerinin durumunda, yalnızca cr kodlanmış döndürülür.
Örneğin:
CREATE TABLE T( Col1 int, Col2 nvarchar(100)) GO -- Insert data with tab, line feed and carriage return). INSERT INTO T VALUES (1, 'This is a tab . This is a line feed and CR more text') GO -- Test this query (without the registry key). SELECT * FROM T FOR XML AUTO -- This is the result (no encoding of special characters). <?xml version="1.0" encoding="utf-8" ?> <r> <T Col1="1" Col2="This is a tab . This is a line feed and CR more text"/> </r> -- Now add registry key with value 0 and execute the query again. -- Note the encoding for carriage return, line-feed and tab in the attribute value. <?xml version="1.0" encoding="utf-8" ?> <r> <T Col1="1" Col2="This is a tab 	. This is a line feed and CR 
 more text"/> </r> -- Update the query and specify ELEMENTS directive SELECT * FROM T FOR XML AUTO, ELEMENTS -- Only the carriage return is returned encoded. <?xml version="1.0" encoding="utf-8" ?> <r> <T> <Col1>1</Col1> <Col2>This is a tab . This is a line feed and CR 
 more text</Col2> </T> </r> CREATE TABLE T( Col1 int, Col2 nvarchar(100)) GO -- Insert data with tab, line feed and carriage return). INSERT INTO T VALUES (1, 'This is a tab . This is a line feed and CR more text') GO -- Test this query (without the registry key). SELECT * FROM T FOR XML AUTO -- This is the result (no encoding of special characters). <?xml version="1.0" encoding="utf-8" ?> <r> <T Col1="1" Col2="This is a tab . This is a line feed and CR more text"/> </r> -- Now add registry key with value 0 and execute the query again. -- Note the encoding for carriage return, line-feed and tab in the attribute value. <?xml version="1.0" encoding="utf-8" ?> <r> <T Col1="1" Col2="This is a tab 	. This is a line feed and CR 
 more text"/> </r> -- Update the query and specify ELEMENTS directive SELECT * FROM T FOR XML AUTO, ELEMENTS -- Only the carriage return is returned encoded. <?xml version="1.0" encoding="utf-8" ?> <r> <T> <Col1>1</Col1> <Col2>This is a tab . This is a line feed and CR 
 more text</Col2> </T> </r>
Geçiş konuları
Eski sqlxml uygulamalarınızın sqlxml 4.0 geçiş etkileyebilir sorunlar şunlardır:
ado ve sqlxml 4.0 sorgular
sqlxml önceki sürümlerinde, IIS sanal dizinlerini ve sqlxml ISAPI filtresi kullanarak url tabanlı sorgu yürütme desteği sağlandı. sqlxml 4.0 kullanan uygulamalar için bu desteği artık kullanılamaz.
Bunun yerine, sqlxml sorguları, Şablonlar ve updategrams sqlxml uzantıları için ActiveX Data Objects (Microsoft Data Access Components (mdac) 2.6 ve sonrası ilk kez tanıtılan ado) kullanılarak çalıştırılabilir.
Daha fazla bilgi için, bkz. ado sqlxml yürütme kullanarak 4.0 sorgular.
sqlxml 3.0 ISAPI ve SQL Server 2005 eklenmiştir veri türleri için desteklenebilirlik
Yazarak Gelişmiş veri çözümünüzün gerektiriyorsa, sqlxml 4.0, ISAPI desteği kaldırıldığından özellikleri kullanılmaya SQL Server 2005gibi xml veri türü veya kullanıcı tanımlı veri türleri (UDTs) ve Web tabanlı erişim, başka bir çözüm gibi kullanmak gerekir sqlxml Yönetimli Sınıfları veya başka bir http işleyicisi, yazın SQL Server 2005 için yerel xml Web Hizmetleri.
Bu tür uzantılar gerektirmiyorsa, dönüşümlü olarak, bağlanmak için sqlxml 3.0 kullanacak biçimde devam etmeden SQL Server 2005ve SQL Server 2008teçhizatları. sqlxml 3.0 ISAPI desteği iş bu üstü karşı ama desteklememekte veya tanımamaktadır xmlveri türü veya udt türü desteği sunulan SQL Server 2005.
Geçici dosyalar için xml Bulk yükü güvenlik değişiklikleri
sqlxml 4.0 ve SQL Server, toplu yükleme işlemi yürütme kullanıcıya verilen dosya izinleri xml Bulk Load. Okuma ve yazma izinleri dosya sisteminden devralınır. Önceki sürümlerde sqlxml ve SQL Server xml Bulk yükü altında sqlxml değil güvenli ve herkes tarafından okunabilir olabilir geçici dosyalar oluşturur.
Geçiş sorunları için istemci tarafı for xml
Yürütme motoru, değişiklikler nedeniyle SQL Serverfor xml sorgu altında yürütülen döndürülür daha farklı değerleri için temel tablo meta verileri döndürebilir SQL Server 2000. Bu oluştuğu durumlarda, istemci tarafı for xml sorgu sonuçlarını biçimlendirme farklı çıktı, hangi sürümüne bağlı karşı sorgu çalıştırmak olacaktır.
Eğer for xml sorgusu yürütülen istemci tarafı kullanarak sqlxml 3.0 üzerinde bir xmlveri türü sütununda, veri sonuçları tam olarak entitized dizge olarak geri gelecektir. sqlxml 4.0, eğer SQL Serveryerel istemci (SQLNCLI10) sağlayıcısı olarak belirtilirse, verileri xml biçiminde döndürülür.