【解決方法】SQLサーバーでCRC16を計算する方法


SqlサーバーでCRC16 CCTI / Falseを計算する方法を知っている人はいますか

私が試したこと:

インターネット経由で試しましたが、CRC16 の解決策が見つかりませんでした

解決策 1

それはできますが…なぜしたいのですか?

CRC はデータ検証機能です。これにより、情報が破損していないかどうか、およびプレゼンテーション機能であるかどうかをコードで確認できます。すべてのデータは、DB に追加される前に検証および修正され、プレゼンテーションによる取得後に必要に応じて有効性を再度確認する必要があります。コード。

DBエンジンはCRCで何をすべきか-受信したデータに生成して両方を保存すると、「有効性」のレイヤーが失われます-データがエンジンに到着するまでに破損する可能性があります。
途中で有効性チェックとしてそれを生成する場合、転送にはエラー検出および訂正メカニズムを含むいくつかのレイヤーが既にあることを考えると、保存されたデータを検証していますが、これは無意味です。

これをやりたいという人は聞いたことがありませんが、可能です (SLQ 22 以上の場合はより簡単です): ビット演算子 (Transact-SQL) – SQL Server | マイクロソフト ラーン[^] と CRC16 チェックサムを計算する関数[^] – アントニオ・ピレスの解決策を参照してください。 これらは SQL ではなく C で記述されていますが、SQL 関数のコーディングについてかなりの知識が必要です。

私はそれをしますか? いいえ、避けられないやむを得ない理由がある場合を除き、そうではありません。

コメント

タイトルとURLをコピーしました