SQLXML 4.0 SP1 yenilikler nelerdir
Microsoft SQLXML 4.0 SP1 çeşitli güncelleştirmeler ve geliştirmeler içerir.Bu konu, güncelleştirmelerin özetler ve kullanılabiliyorsa, daha ayrıntılı bilgilere bağlantılar sağlar.SQLXML 4.0 SP1'de yeni veri türlerini desteklemek için ek geliştirmeleri sağlar. SQL Server 2008. Bu konu, aşağıdaki konuları içerir:
SQLXML 4.0 SP1 yükleme
Yan tarafındaki yükleme sorunları
SQLXML 4.0 ve MSXML
SQLXML 4. 0'ı yeniden dağıtma
Desteği SQL Server Yerel istemci
Destek veri türleri de eklenmiştir. SQL Server 2005
SQLXML 4.0 için XML toplu yükleme 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 2008SQLXML 4.0, SQL Server ile yayımlanmış olan ve tüm SQL Server sürümleri için SQL Server Express dışında varsayılan yüklemesinin bir parçası olduğu. Yandakiyle başlayan SQL Server 2008, en son sürüm SQLXML (SQLXML 4.0 SP1) artık SQL Server'da bulunur. Kullanılabilir olduğunda, SQLXML 4.0 SP1'i yüklemek için , buradan yükleyin: SQLXML konumu yükleyin..
SQLXML 4.0 SP1 dosyaları, aşağıdaki konuma yüklenir:
%PROGRAMFILES%\SQLXML 4.0\
Not
SQLXML 4.0 tüm uygun kayıt defteri ayarlarını, yükleme işleminin bir parçası yapılır.
32-Bit Windows altında (WOW64) üzerinde Windows 64-bit Windows işletim sistemlerinde çalıştırılacak SQLXML uygulamaları 64-bit SQLXML 4.0 SP1 çalışan paket, Yükleme Merkezi'nde bulunan sqlxml4.msi adlı.
SQLXML 4.0 SP1'i kaldırma
Kayıt defteri anahtarları SQLXML 3.0 SP3, SQLXML 4.0 ve SQLXML 4.0 SP1 arasında varolan paylaşılan.SQLXML daha yeni sürümlerini SQLXML 3.0 SP3 içeren aynı bilgisayarda kaldırılmakta, SQLXML 3.0 SP3'ü yeniden yüklemeniz gerekebilir.
Yan tarafındaki yükleme sorunları
SQLXML 4.0 yükleme işlemini, SQLXML önceki sürümleri tarafından yüklenmiş olan dosyaları kaldırmaz.Bu nedenle, bilgisayarınızda birkaç farklı sürüm ayırıcı yüklemelerinde SQLXML dll olabilir.Yüklemelerin yan-tarafından-yan çalıştırabilirsiniz.SQLXML 4.0 sürüm bağımsız hem de sürümüne bağımlı PROGIDs içerir.Tüm üretim uygulamaları sürümüne bağımlı PROGIDs kullanmanız gerekir.
SQLXML 4.0 SP1 ve MSXML
SQLXML 4.0, MSXML yüklemez.SQLXML 4. 0'ın bir parçası olarak yüklenmiş MSXML 6.0 kullanıldığı SQL Server 2005 veya SQL Server 2008 Yükleme.
SQLXML 4.0 SP1'i yeniden dağıtma
SQLXML 4.0 SP1 yeniden dağıtılabilir yükleyici paketini kullanarak dağıtabilirsiniz.Hangi kullanıcı için tek bir yükleme olarak görünüyor birden çok paket yüklemeniz için bir yol chainer ve önyükleyici teknolojisi kullanmaktır.Daha fazla bilgi için bkz: özel Önyükleyicisi paket ekleme özel Önkoşullar ve Visual Studio 2005 geliştirme.
Uygulamanızın geliştirilmiş olan dışındaki bir platformu hedefliyor, x 86 ve x 64, ıtanium, sqlncli.msi sürümleri Microsoft Yükleme Merkezi'nden karşıdan yükleyebilirsiniz.
MSXML 6. 0'ın (msxml6.msi) için ayrı bir yeniden dağıtım Kurulum programları da vardır.Bunlar bulunabilir SQL Server Yükleme CD'SINDE aşağıdaki konumda:
%CD%\Setup\
Bu yükleme dosyalarını, MSXML 6. 0'ı doğrudan CD'den yüklemek için kullanılabilir.MSXML 6. 0'ın SQLXML 4.0 SP1 ile birlikte, kendi özel uygulamaları ile serbestçe yeniden dağıtmak için de kullanılabilir.
Ayrıca yeniden dağıtmak gerekir SQL Server Veri sağlayıcı olarak uygulamanızla birlikte kullanıyorsanız, yerel istemci. Daha fazla bilgi için bkz:SQL Server yerel istemcisi yükleme.
SQL Server yerel istemci desteği
Her iki SQLOLEDB SQLXML 4. 0'ı destekler ve SQL Server Yerel istemci sağlayıcıları. Bu, aynı sürüm kullanmanız önerilir SQL Server Yerel istemci sağlayıcı ve SQL Server çünkü SQL Server Yerel bir istemci sunucu gibi sevk her yeni veri türünü desteklemek üzere geliştirilmiş Date, Time, DateTime2, ve dateTimeOffset veri türü SQL Server 2008 ve desteklenen SQL Server 2008 Yerel istemci.
SQL Server Yerel istemci'de kullanılmaya başlanan bir veri erişim teknolojisini olur. SQL Server 2005. Bunu SQLOLEDB sağlayıcı ve SQLODBC sürücüsünü bir yerel dinamik bağlantı kitaplığına (DLL) ayrı ve Microsoft Data Access Components (MDAC)'dan farklı olan yeni işlevler sağlarken birleştirir.
SQL Server Yerel istemci yeni uygulama oluşturmak veya varolan olarak özelliklerinden yararlanmak için gereken uygulamalar geliştirmek için kullanılabilir: SQL Server SQLOLEDB ve SQLODBC MDAC'de desteklenmeyen ve Microsoft Windows. Örneğin, SQL Server Yerel istemci gibi XML kullanmak IÇIN istemci tarafı SQLXML özellikleri için gerekli xml Veri Türü. Daha fazla bilgi için bkz: Istemci tarafı XML (SQLXML 4.0) biçimlendirme, ADO SQLXML yürütmek kullanarak 4.0 sorgular., ve SQL Server 2008 yerel istemci programlama.
Not
SQLXML 4.0 SQLXML 3.0 tamamen geriye dönük olarak uyumlu değil.Bazı hata onarımları ve SQLXML ISAPI desteği, özellikle kaldırılmasını başka işlev değişiklikleri nedeniyle, SQLXML 4.0 ile IIS sanal dizinleri kullanamazsınız.Çoğu uygulama, küçük değişiklikleri ile çalışır, ancak bunları üretim SQLXML 4.0 içine koymadan önce sınamalısınız.
SQL Server 2005 ve SQL Server 2008'de eklenmiştir veri türleri için destek
SQL Server 2005 tanıtılan xml veri türü ve SQLXML 4.0 destekler xml Veri 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 xml Aşağıdaki konular, sağlanan örnekler için veri türü XML görünüm XML'ı yüklerken veya XML updategrams, yürütme toplu eşlenirken SQLXML bakın.
SQL Server 2008 tanıtılan Date, Time, DateTime2, ve DateTimeOffset veri türleri. SQLXML 4.0 SP1 bu dört yeni veri türleri ile kullanıldığında yerleşik skaler türleri olarak etkinleştirir SQL Server 2008 Yerel istemci OLE DB, birlikte gelen sağlayıcı (SQLNCLI10) SQL Server 2008.
SQLXML 4.0 SP1 için XML toplu yükleme değişiklikleri
SQLXML 4.0 için SchemaGen taşma alan kullanılarak oluşturulan xml Veri Türü. Daha fazla bilgi için bkz: SQL Server XML toplu yükleme nesne modeli.
Önceden oluşturduysanız Microsoft Visual Basic uygulamalarını ve SQLXML 4. 0'ı kullanmak istiyorsanız, uygulamayı içeren başvurusu Xblkld4.dll derlemeniz gerekir.
Visual Basic komut dosyası kullanan Edition uygulamaları için kullanmak istediğiniz DLL kaydettirmeniz gerekir.Aşağıdaki örnekte, bağımsız sürüm PROGIDs, belirtirseniz, üzerinde son kayıtlı DLL uygulama bağlıdır:
set objBulkLoad = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
Not
Sürümüne bağımlı PROGID SQLXMLBulkLoad.SQLXMLBulkLoad.4.0 ' dir.
SQLXML 4.0 için kayıt defteri anahtar değişiklikleri
SQLXML 4. 0'da, kayıt defteri anahtarlarının önceki sürümlerden şu şekilde değişti:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\istemci\SQLXML4\TemplateCacheSize
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\istemci\SQLXML4\SchemaCacheSize
Bu anahtarları, SQLXML 4.0 için geçerli olmasını isterseniz, ayarları değiştirmeniz gerekir.
Buna ek olarak, aşağıdaki kayıt defteri anahtarlarının SQLXML 4.0 kullanıma sunmuştur:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\SQLXML4\ReportErrorsWithSQLInfo
Varsayılan olarak, SQLXML 4.0 OLE DB tarafından sağlanan yerel hata bilgileri verir ve SQL Server yerine, üst düzey bir SQLXML hatası (büyük/küçük durum SQLXML önceki sürümlerinde olduğu gibi). Bu davranış istemiyorsanız, bu kayıt defteri anahtarının Tür DWORD değerini 0 (varsayılan 1'dir) için küme olması gerekir.
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\istemci\SQLXML4\FORXML_GenerateGUIDBraces
Varsayılan olarak, SQLXML kapsayan kaşlı ayraçlar olmadan, SQL Server GUID değerleri döndürür.Ayraçlar (örneğin, {ile döndürülen GUID değeri istersenizBazı GUID}), bu kayıt defteri anahtarının değeri olmalıdır küme 1 (varsayılan sıfırdır).
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\istemci\SQLXML4\SQL2000CompatMode
XML Ayrıştırıcısı, veri yüklendiğinde varsayılan olarak, XML 1.0 kurallarına göre boşluk normalleştirilmiş.Bu sonuçlar verilerinizde boşluk karakterleri bazıları kaybına.Semantically verileri aynı olsa da, metin olarak gösterilmesi verilerinizin aynı ayrıştırma sonra olmayabilir.
Bu anahtar, böylece boşluk karakterleri, verileri korumak seçebileceğiniz başlanmıştır.Bu kayıt defteri anahtar eklemek ve değerini 0 olarak ayarlayın, içinde XML boşluk karakterleri (LF CR ve sekmesi), kodlanmış döndürülen durum öznitelik değerleri.Öğe değerlerinin durumunda, yalnızca CR kodlanmış olarak gönderilir.
Ö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>
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ğlanmadı.SQLXML 4.0 kullanan uygulamalar için bu destek artık kullanılabilir değil.
Bunun yerine, SQLXML sorgular, şablonları ve updategrams, SQLXML uzantıları için ActiveX Data Objects (ilk olarak Microsoft veri erişim bileşenleri (MDAC) 2.6 ve sonrası sunulan ADO) kullanılarak çalıştırılabilir.
Daha fazla bilgi için bkz:ADO SQLXML yürütmek kullanarak 4.0 sorgular..
SQLXML 3.0 ISAPI ve veri türleri SQL Server 2005'te eklenmiştir desteklenebilirlik
Gelişmiş özellikleri olarak yazarak veri çözümünüz gerektiriyorsa, SQLXML 4.0, ISAPI desteği kaldırılmış olduğundan SQL Server 2005 gibi XML veri türü or Kullanıcı tanımlı veri türleri (UDTs) ve Web tabanlý eriþim gibi başka bir çözümü kullanmak gerekirSQLXML yönetilen sınıflar veya gibi HTTP işleyicisi, başka bir türSQL Server 2005'te yerel XML Web Hizmetleri.
Bu tür uzantılar gerek duyarsanız, alternatif olarak, SQLXML 3.0 bağlanmak için kullanmaya devam edebilirsiniz SQL Server 2005 ve SQL Server 2008 yüklemeleri. SQLXML 3.0 ISAPI desteği bu sonraki sürümleri karşı çalışma ancak değil desteği veya tanıması xml veri türü veya olarak UDT türü desteği SQL Server 2005.
Temporary Files için XML toplu yükleme güvenlik değişiklikleri
SQLXML 4.0 için ve SQL Server 2005 veya SQL Server 2008Dosya izinleri XML Bulk yükü toplu yükleme işlemi yürütülüyor kullanıcıya verilir. Okuma ve yazma izinleri, dosya sisteminden devralınmıştır.Önceki sürümlerde SQLXML ve SQL Server'ın, XML toplu yükleme SQLXML altında güvenli ve herkes tarafından okunabilir için geçici dosyalar oluşturur.
Istemci tarafı IÇIN XML için geçiş sorunları
Yürütme alt yapısı nedeniyle değişiklikleri SQL Server 2005 ve SQL Server 2008 Sorgu IÇIN XML altında çalıştırıldı, en iyi duruma döndürülür çok farklı değerler temel bir tablo için meta veriler döndürebilir SQL Server 2000. Bu oluştuğu durumlarda, istemci tarafı IÇIN XML sorgu sonuçlarını biçimlendirme farklı çıkış bağlı olarak hangi sürümün karşı sorgu çalıştırmak olacaktır.
FOR XML sorguda, istemci tarafı yürütülen SQLXML 3.0 üzerinden kullanan bir xml veri türü sütununu sonuçlar verileri tam olarak entitized bir dize olarak gelir. SQLXML 4.0 içinde SQL Server Sağlayıcı olarak belirtilen yerel istemci (SQLNCLI10), verileri XML olarak döndürülür.