0

フィールドSalesLineのみを変更して を保存する場合、メソッドはエラー例外をスローする場合があります。NamedoUpdate

指定されたリテラル文字列の長さが最大制限を超えています。

Name の文字列長が 128 の場合、doUpdate成功します。
Name の文字列の長さが 129 のdoUpdate場合、失敗します (ただし、文字を変更すると成功する場合があります)。

フィールドのName長さは 1000 文字 (nvarchar(1000)データベース内) に定義されています。

本番システムでは失敗しますが、テスト システムでは失敗しません。

データベースのログが有効になっていません。データベースは SQL 2008 R2 です。AX カーネル バージョン: 5.0.1500.5660

このエラーを見た人はいますか?
解決するヒントはありますか?

4

3 に答える 3

1

クエリでリテラルを使用しないでください。リテラルを使用する salesLine データソースの init メソッドについて質問します。お気に入り:

SalesLine_ds.query().literals(true);

于 2014-06-20T05:52:32.633 に答える
0

sql server 2008 で quotename が使用されている可能性はありますか?

このバージョンの SQL サーバーでは、長さ制限が 128 文字であることに問題があるようです

http://sqlserverpedia.com/blog/sql-server-bloggers/watchout-when-using-quotename-2/

于 2012-06-19T15:08:14.197 に答える
0

私もこの行動を見たことがあります。デビッドが投稿したリテラルと組み合わせたものでなければなりません。literalsクエリでorを使用placeholdersしますか?

これは、カーネル 5.0.1600.2967 (販売テーブル上) で完全に再現できます。

と の組み合わせのバグである必要がforceliteralsありますdoUpdate()

フィールドをデータ型メモに変更したり、を変更するなどの他の変更をcachelookup行っても、どちらも役に立ちませんでした。

于 2014-09-26T09:37:24.210 に答える