修正: 文字列パラメーターまたは SQL Server の Compact 3.5 データベースに対してバイナリ パラメーターを"LINQ to Entities"は、クエリを実行すると、エラー メッセージを使用して:"場所では、ntext と image データ型は使用できませんが、または句でグループ化"

文書翻訳 文書翻訳
文書番号: 958478
すべて展開する | すべて折りたたむ

目次

概要

ここにはこの修正プログラムのリリースに関する次について説明します。
  • この修正プログラム パッケージで修正される問題
  • この修正プログラム パッケージをインストールするための必要条件
  • この修正プログラム パッケージをインストールした後、コンピューターを再起動する必要がありますか
  • 修正プログラム パッケージが他の修正プログラム パッケージによって置き換えられますかどうか
  • レジストリの変更が必要かどうか
  • この修正プログラム パッケージに含まれているファイル

現象

次のシナリオを検討してください。アプリケーションは ADO を使用します。Microsoft では、含まれている NET エンティティ フレームワークです。NET Framework 3.5 Service Pack は Microsoft SQL Server の Compact 3.5 データベースにアクセスする 1。このアプリケーションでは、文字列パラメーターまたはデータベースに対してバイナリ パラメーターを使用する"LINQ to Entities"クエリを実行します。このシナリオでは、アプリケーションを実行すると、次のエラー メッセージが表示されます。
Ntext と image データ型は、HAVING、GROUP BY、または句を LIKE を使用これらのデータ型を使用している場合を除くか NULL 述語では使用できません。

原因

アプリケーションで"LINQ to Entities"クエリのパラメーターを使用すると、データベースの基本の型を指定できません。SQL Server コンパクトな Entity Framework プロバイダーはプロバイダー レベルのパラメーターを元のパラメーター エンティティ データ モデル (EDM) ファセットをベースを作成しようとしています。SQL Server コンパクトはサポートしていませんが nvarchar(max) データ型や、 varbinary(max) データを入力します。したがって、すると、プロバイダーを選択のデータ型のパラメーターを Edm.String データ型や、 Edm.Binary データ型は、そのプロバイダーにはパラメーターの放電加工面のに基づいて、次のデータ型のいずれかのパラメーターを指定します。
  • 文字列パラメーターは、プロバイダーを選択する、 nvarchar(4000) データ型や、 ntext 型 データを入力します。
  • バイナリ パラメーターには、プロバイダーを選択する、 varbinary(4000) データ型や、 イメージ データを入力します。
プロバイダーは、パラメーターとしてされた場合は、 nvarchar(4000) データの種類として、 varbinary(4000) 8,000 バイトを超える値を挿入しようとするとデータ型をエラーが発生します。さらに、プロバイダーがパラメーターとしてされた場合は、 ntext 型 データの種類として、 イメージ データ型のパラメーターに任意の等値演算、操作のグループ化、または並べ替え操作が実行されている場合は、エラーとなります。

解決方法

修正プログラムの情報

サポートされている修正プログラムがマイクロソフトから入手可能です。ただし、この修正プログラムはこの資料に記載されている問題のみを修正するものです。この修正プログラムはこの資料に記載されている問題が発生しているシステムにのみ適用されます。この修正プログラムは、今後さらにテストを受け取ることがあります。したがって、この問題で深刻な影響をされていない場合は、この修正プログラムを含む次のソフトウェア更新プログラムのリリースを待つことをお勧めします。

この修正プログラムがダウンロードできないか場合は、この記事の上部に「修正プログラムのダウンロード」セクションです。このセクションが表示されない場合は、マイクロソフト カスタマー サービス & サポート修正プログラムを入手するに問い合わせてください。

メモ その他の問題が発生した場合、またはトラブルシューティングが必要な場合は、別のサービス リクエストを作成する必要があります。追加の質問およびこの特定の修正プログラムの対象とならない問題については、通常のサポート料金が適用されます。一覧マイクロソフト カスタマー サービス & サポートの電話番号のまたは別のサービス リクエストを作成するには、次のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support
メモ 「修正プログラムのダウンロード」フォームに修正プログラムが提供されている言語を表示します。お使いの言語が表示されない場合は、修正プログラムがその言語の利用できないためにです。

前提条件

この修正プログラムを適用するには、以前にインストールされた SQL Server コンパクトな 3.5 Service Pack 修正プログラムに付属している .msi ファイルをインストールするのには 1 をアンインストールしてください。以前にインストールされた SQL Server コンパクトな 3.5 Service Pack 1 をアンインストールしない場合は、SQL Server コンパクトのそれ以降のバージョンが既にインストールされていることを示す、インストールのエラー メッセージが表示されます。 SQL Server コンパクトな 3.5 Service Pack 1 の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
955965Compact 3.5 Service Pack 1 の SQL Server の説明

情報を再起動します。

この修正プログラムを適用した後コンピューターを再起動するはありません。

レジストリ情報

レジストリを変更するはありません。

修正プログラムのファイル情報

この修正プログラムにはこの資料に記載されている問題を修正するために必要なファイルのみが含まれています。この修正プログラムは、製品を最新のビルドに更新するために必要なすべてのファイルがありません。

この修正プログラムの英語版がファイル属性 (またはそれ以降のファイル属性) が、次のとおり。日付および時刻これらのファイルを世界協定時刻 (UTC) が表示されます。ファイル情報を表示すると、ローカル時刻に変換します。UTC とローカル時刻との時差を確認するを使用して、 タイム ゾーン タブには 日付と時刻 コントロール パネルの項目。
元に戻す全体を表示する
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
System.data.sqlserverce.entity.dll3.5.5692.1230,4802008 年 9 月 24 日06: 46x86 と x 64/ia-64
System.data.sqlserverce.dll3.5.5692.1271,4402008 年 9 月 24 日06: 46x86 または x64
Policy.3.5.system.data.sqlserverce.dll3.5.5692.113,3922008 年 9 月 24 日06: 46x86 または x64
Policy.3.5.system.data.sqlserverce.entity.dll3.5.5692.113,3922008 年 9 月 24 日06: 46x86 または x64
Sqlceca35.dll3.5.5692.1343,1042008 年 9 月 24 日08: 07x 86
Sqlcecompact35.dll3.5.5692.184,5442008 年 9 月 24 日08: 07x 86
Sqlceer35en.dll3.5.5692.1148,0322008 年 9 月 24 日08: 07x 86
Sqlceme35.dll3.5.5692.165,0882008 年 9 月 24 日08: 07x 86
Sqlceoledb35.dll3.5.5692.1172,6082008 年 9 月 24 日08: 07x 86
Sqlceqp35.dll3.5.5692.1644,1602008 年 9 月 24 日08: 07x 86
Sqlcese35.dll3.5.5692.1348,2242008 年 9 月 24 日08: 07x 86

状況

マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。

詳細

この修正プログラムを適用すると、プロバイダーがデータ型のパラメーターを推測しない、 放電加工。文字列 データ型や、 放電加工。バイナリ データを入力します。クエリ プロセッサにはパラメーターが関連づけられているかは、パラメーターを使用すると、列の値に基づいて、パラメーターの正しいデータ型を選択します。

たとえば、次のエンティティ SQL のクエリでは、クエリ プロセッサ選択、 ntext 型 データを入力するのには 名前 この修正プログラムを適用する前にパラメーターです。
String name = "XYZ";
var q = from e in nwind.Employees
           where e.First_Name = name
           select e;
この修正プログラムを適用した後は、データの入力、 名姓 列が選択されている、 名前 パラメーターです。

ただし、次の例では、「LINQ をエンティティ」クエリため失敗、 名前 パラメーターに関連づけられてもその他の値または列で使用します。
String name = "XYZ";
var q = from e in nwind.Employees
           select name;
この修正プログラムには、readme ドキュメントでコンパクトな 3.5 を SQL Server に記載されている問題も解決されます。詳細については、"SQL Server コンパクトな 3.5 SP1 ランタイム問題が ADO を。NET のエンティティ フレームワーク」セクションで、次のマイクロソフト Web サイト:
http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htm
この修正プログラムはプロバイダー構成体を適用するのには、スカラー サブクエリに変換時に生成される不正な Transact SQL ステートメントに関連付けられている問題を解決します。

メモ 相関サブクエリはスカラー サブクエリに内部的に変換されます。相関サブクエリは、今回のリリースではサポートされていません。これらのクエリを実行すると、次のエラー メッセージが表示されます。
コマンドの定義を実行中に、エラーが発生しました。詳細については、内部例外を参照してください。
内部例外には、次のメッセージが含まれます。
クエリを解析中にエラーが発生しました。[]、トークン エラー = AS]
理由は ADO です。Entity Framework の NET 入力クエリ、CROSS APPLY 結合の種類や結合の種類を適用する外部クエリとして解釈します。結合条件の右側にあるスカラー値を返す場合は、結合がスカラー サブクエリに変換されます。ADO.SQL Server コンパクト用の NET Entity Framework プロバイダー、スカラー サブクエリ SQL Server コンパクトでサポートされている、外部適用する結合の種類を持つ、対応するクエリに変換する必要があります。ただし、このリリースでは、この変換が正しく行われません。たとえば、次のクエリでは、このリリースのエラーに発生します。
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 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は
ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684 マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

プロパティ

文書番号: 958478 - 最終更新日: 2011年8月12日 - リビジョン: 5.0
キーワード:?
kbfix kbqfe kbexpertiseadvanced kbhotfixserver kbautohotfix kbmt kbsurveynew KB958478 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:958478
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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