Düzeltme: "LıNQ varlıkları" bir sorgu çalıştırdığınızda hata iletisi bir dize parametresi veya bir SQL Server 3.5 Compact veritabanıyla ikili bir parametre kullanır: "ntext ve resim veri türleri WHERE, kullanılan Grup ON BY veya IN yan tümcesi, HAVING"

Makale çevirileri Makale çevirileri
Makale numarası: 958478 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, bu düzeltme sürümü hakkında aşağıdaki açıklanır:
  • Düzeltme paketi ile giderilen sorunlar
  • Düzeltme paketini yükleme önkoşulları
  • Düzeltme paketini yükledikten sonra bilgisayarı yeniden başlatmanızın gerekip gerekmediği
  • Düzeltme paketinin başka bir düzeltme paketiyle değiştirilip değiştirilmediği
  • Kayıt defterinde herhangi bir değişiklik yapmanız gerekip gerekmediği
  • Düzeltme paketinin içerdiği dosyalar

Belirtiler

Şu senaryoyu inceleyin. Bir uygulama, bir Microsoft SQL Server 3.5 Compact veritabanına erişmek için Microsoft .NET Framework 3.5 Service Pack 1'de bulunan Microsoft ADO.NET varlık Framework kullanır. Uygulamada, bir dize parametresi ya da veritabanıyla ikili bir parametresi kullanan bir "LıNQ varlıkları" sorgu çalıştırın. Bu senaryoda, uygulamayı çalıştırdığınızda aşağıdaki hata iletisini alırsınız:
Ntext ve resim veri türleri, WHERE, HAVING, GROUP BY, ON veya IN yan tümcesi, bu veri türlerini BENZERI ile kullanılması dışında veya NULL yüklemler IS kullanılamaz.

Neden

Bir uygulamada "LıNQ varlıkları" sorgu parametreleri kullandığınızda, temel bir veritabanı türleri belirtemezsiniz. SQL Server Compact varlık Framework sağlayıcı özgün parametre varlığı veri modeli (EDM) esaslarını üzerinde temel bir düzey sağlayıcı parametre oluşturmaya çalışır. SQL Server Compact nvarchar(max) veri türü veya varbinary(max) veri türünü desteklemiyor. Bu nedenle, sağlayıcı, veri türü edm.String veri türündeki veya edm.Binary</a0> veri türünde bir parametre için seçtiğinde, sağlayıcı parametre'parametresinin EDM esaslarını üzerinde dayalı olan aşağıdaki veri türlerinden biri olarak işaretlemek sahiptir:
  • Sağlayıcı, bir dize parametresi için nvarchar(4000) veri türü veya ntext veri türünü seçer.
  • Ikili bir parametre için sağlayıcının varbinary(4000) veri türü veya veri türü Resim seçer.
Sağlayıcı parametre nvarchar(4000) veri türü veya varbinary(4000) veri türü olarak işaretler, 8000 bayttan daha büyük olan değerler eklemeye çalıştığınızda bir hata oluşur. Ayrıca, sağlayıcı parametre veri türü Resim veya ntext veri türü olarak işaretlerse, herhangi bir eşitlik işlemleri, gruplandırma işlemi veya sıralama işlemleri parametresi gerçekleştirilmekte varsa bir hata oluşur.

Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu makalede açıklanan sorunun yaşandığı sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

ÖNKOŞULLAR

Bu düzeltmeyi uygulamak için <a0></a0>, önceden yüklenmiş SQL Server Compact 3.5 Service Pack bu düzeltmeyle sağlanan bir .msi dosyasını yüklemek için 1'yi kaldırmanız gerekir. Önceden yüklenmiş SQL Server Compact 3.5 Service Pack 1 kaldırma, Compact SQL Server'ın sonraki bir sürümü zaten yüklü olduğunu bildiren bir yükleme hatası iletisi alırsınız. SQL Server Compact 3.5 Service Pack 1 hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
955965SQL Server'ın açıklaması sıkıştırma 3.5 Service Pack 1

Yeniden başlatma bilgileri

Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Kayıt defteri Bilgileri

Kayıt defterini değiştirmeniz gerekmez.

Düzeltme Dosyası Bilgileri

Bu düzeltme, yalnızca bu makalede listelenen sorunları düzeltmek için gerekli olan dosyaları içerir. Bu düzeltme, bir ürünü en son sürüme tam olarak güncelleştirmek için gerekli olan dosyaları içermeyebilir.

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki tarih ve saat öğesinde saat dilimi sekmesini kullanın.
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
System.Data.SqlServerCe.ENTITY.dll3.5.5692.1230,48024 Eyl 200806: 46x 86 / x 64/ıA-64
System.Data.SqlServerCe.dll3.5.5692.1271,44024 Eyl 200806: 46x 86 / x 64
Policy.3.5.System.Data.SqlServerCe.dll3.5.5692.113,39224 Eyl 200806: 46x 86 / x 64
Policy.3.5.System.Data.SqlServerCe.ENTITY.dll3.5.5692.113,39224 Eyl 200806: 46x 86 / x 64
Sqlceca35.dll3.5.5692.1343,10424 Eyl 200808: 07X86
Sqlcecompact35.dll3.5.5692.184,54424 Eyl 200808: 07X86
Sqlceer35en.dll3.5.5692.1148,03224 Eyl 200808: 07X86
Sqlceme35.dll3.5.5692.165,08824 Eyl 200808: 07X86
Sqlceoledb35.dll3.5.5692.1172,60824 Eyl 200808: 07X86
Sqlceqp35.dll3.5.5692.1644,16024 Eyl 200808: 07X86
Sqlcese35.dll3.5.5692.1348,22424 Eyl 200808: 07X86

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

Bu düzeltmeyi uyguladıktan sonra sağlayıcı veri türü EDM.String veri türündeki veya EDM.Binary</a0> veri türünde bir parametre için tahmin değil. Sorgu işlemcisi değerin veya sütun için parametre equated veya parametre kullanılan temel parametre doğru veri türünü seçer.

Örneğin, bu düzeltmeyi uygulamadan önce aşağıdaki varlık SQL sorgusunda sorgu işlemcisi ntext veri türü adı parametresi için seçer.
String name = "XYZ";
var q = from e in nwind.Employees
           where e.First_Name = name
           select e;
Bu düzeltmeyi uyguladıktan sonra <a0>ad</a0> sütunun veri türü adı parametresi için seçilir.

Ancak, aşağıdaki örnekte, çünkü bu adı parametresi için equated kendisi başka bir değer veya sütunu ile kullanılan "LıNQ varlık" sorgu başarısız olur.
String name = "XYZ";
var q = from e in nwind.Employees
           select name;
Bu düzeltme, readme belgede, SQL Server Compact 3.5 açıklanan, bilinen bir sorunu da giderir. Daha fazla bilgi için "SQL Server Compact 3.5 SP1 ã‡alýã¾ma Zamaný Modülü sorunlar için ADO.NET varlık Framework" bölümünde, aşağıdaki Microsoft Web sitesine bakın:
http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htm
Bu düzeltme, sağlayıcı, skalar alt yapıları uygulamak dönüştürdüğünde, oluşturulan yanlış Transact-SQL deyimleri ilgili bir sorunu giderir.

Not Ilişkili alt sorgusu skalar alt sorgular için dahili olarak dönüştürülür. Ilişkili alt sorgusu, bu sürümde desteklenmiyor. Bu bir sorgu çalıştırdığınızda, aşağıdaki hata iletisini alırsınız:
Komut tanımı yürütülürken hata oluştu. Ayrıntılar için iç özel duruma bakın.
Iç özel durum, aşağıdaki iletiyi içerir:
Sorgu ayrıştırılırken hata oluştu. [.., Simge hatalı = AS]
ADO.NET varlık çerçeve giriş sorgu çapraz APPLY birleşim türünü veya OUTER APPLY birleşim türü olan bir sorgu yorumlayan nedenidir. Birleştirme koşulu sağ tarafında, skalar bir değer döndürürse, birleştirme skalar bir alt sorgu dönüştürülür. SQL Server Compact tarafından desteklenen OUTER APPLY birleşim türüne sahip bir eşdeğer Sorguya skalar bu alt sorgu dönüştürmek için SQL Server Compact ADO.NET varlık Framework sağlayıcı vardır. Ancak, bu sürümde bu dönüştürmeyi doğru olarak belirtilmez. Örneğin, bu sürümdeki aşağıdaki sorgu için bir hata oluşur.
C# Sample Application:
using (NorthwindEntities nwEntities = new NorthwindEntities())
{
    var orders = nwEntities.Employees
                .Select(employee => employee.Orders.Max(order => order.Order_ID));
    foreach (var order in orders)
    {
       Console.WriteLine(order.ToString());
    }
}
SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 958478 - Last Review: 17 Şubat 2009 Salı - Gözden geçirme: 1.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server Compact 3.5
Anahtar Kelimeler: 
kbmt kbexpertiseadvanced kbfix kbautohotfix kbsurveynew kbqfe kbhotfixserver KB958478 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:958478

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com