UniData クエリの入力をサニタイズする機能を提供できる人はいますか? または、削除するもののリストを提供しますか?
3 に答える
CONVERTを使用して1つの不正な文字を一度に削除し、次にSWAPを使用して不正な複数文字の文字列を削除します。
他の答えに基づいて、あなたはこれを得る:
CONVERT ( '"' : "'/[\]^" ) TO "" IN USER.DATA
SWAP "..." WITH "" IN USER.DATA
Here's a list of characters reserved by UniQuery:
" double quote
' apostrophe (single quote)
/ forward slash
[ left square bracket
\ back slash
] right square bracket
^ caret
You can write a quick function that takes a string, does a SWAP
for each of these characters--you can swap with the ISO 8859-1 decimal code (e.g., ]
for ]
)--and returns the sanatized string.
Rob Sobers の回答に加えて、トリプル 's/ も探してください。.
これらは、[ および ] とほぼ同じように、実行しているモードに応じてワイルドカードとして使用できます。
コメントの編集:
これをテストするためのインスタンスを目の前に持っていませんが、VOC ファイルの「UOLOGIN」段落で ECLTYPE を明示的に「P」に設定することで変更できると思います。
UOLOGIN は LOGIN に似ています。セッションが最初に作成されたときに呼び出されます。違いは、UOLOGIN が UniObjects セッションに対して呼び出されることです。