Aracılığıyla paylaş


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 &#x09;. This is a line feed and CR &#x0D;&#x0A; 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 &#x0D;
     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.