フローチャートのログ・ファイルにソート順誤りのエラーが表示される
問題またはエラー: Campaign フローチャートのログ・ファイルに、次のタイプのエントリーが繰り返して表示されます。
Wrong sort order detected (Last ID > This ID)
Last ID: Name=EMAIL_ADDRESS, Type=8, Chars=80, Bytes=80,
dbtype=17, prec=80, Value='customer1@domain.com'
This ID: Name=EMAIL_ADDRESS, Type=8, Chars=80, Bytes=80,
dbtype=17, prec=80, Value='customer2@domain.com'
解決方法: これは警告メッセージです。このメッセージは、Campaign によって予期されたものと異なる順序でデータベースがレコードを返したことを意味します。Campaign サーバーはこれを検出して、データベースからのレコードの取得を停止しました。 Campaign はその代わりに、ID のリスト全体をサーバー上の Campaign temp ディレクトリーに取り込みます。 Campaign はそのディレクトリーで ID を再ソートし、正しくソートされたリストをサーバーの一時スペースから使用して、フローチャートの残りの部分の処理を続行します。
Campaign の enableSelectOrderBy プロパティーが、この問題の解決に役立ちます。
*
このプロパティーを false に設定すると、Campaign はただちにレコードを temp ディレクトリーに取り込み、Campaign のサーバー・プロセスがレコードをソートします。
*
このプロパティーを true (デフォルト) に設定すると、Campaign は、データベースがレコードをソートすることを許可し、それらのレコードが Campaign サーバー・プロセスに送られることを予期します。レコードが正しくソートされなかった場合、Campaign は矛盾を検出して、リストを再ソートします。それがこのログ・ファイルに表示されます。
ログ・ファイルにリストされるときに、レコードは既にソートされているように見えます。これは、Campaign がデフォルトで大/小文字を区別しない比較を実行するからです。 大/小文字の違いを無視するために、Campaign は比較を行う前に、標準 ASCII ソート順を使用してデータを小文字に変換します。 データベースは、下線 ( _ ) およびその他の少数の文字で始まる文字列を、大文字の文字列と小文字の文字列の間に表示されるようにソートすることがあります。 ただし、Campaign は比較の前に小文字への変換を行うため、これらの同じ文字を異なってソートすることがあります。
partition[n]/server/dataProcessing カテゴリーに属する以下の Campaign プロパティーが、この動作を制御します。
*
*
データベースのソート順がわかっている場合には、必要に応じて、Campaign パラメーターをデータベースと整合するように設定できます。 詳しくは、「Campaign 管理者ガイド」を参照してください。